[
https://issues.apache.org/jira/browse/CLK-582?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Bob Schellink closed CLK-582.
-----------------------------
Resolution: Invalid
This is a question for the user list rather than JIRA
> No field validation on FormTable
> --------------------------------
>
> Key: CLK-582
> URL: https://issues.apache.org/jira/browse/CLK-582
> Project: Click
> Issue Type: Bug
> Components: extras
> Affects Versions: 1.5.3
> Environment: Linux Apache mySQL
> Reporter: Christophe FOIRET
> Priority: Critical
>
> I built a page with a search Form and two FormTable
> When i select a value in the SelectList of the search Form, i fill the two
> FormTable
> Each FormTable contains a required Field
> When i click on the Valid Button, there is no control and the required fields
> which are not filled are not yellow (like in your example), the page is
> refreshed and the two FormTable are empty ...
> I tried this case without search Form and the control is well done ...
> Could you give me quickly an answer to this issue, i think that the search
> Form disturbs the Form Table behavior
> See the code below :
> .htm code file
> <br>
> <h2>$title</h2>
> <br>
> $formSearch
> $tableInterv
> $tableTps
> .java code file
> package vdo.actedu.page;
> import java.util.List;
> import net.sf.click.control.Form;
> import net.sf.click.control.Option;
> import net.sf.click.control.Select;
> import net.sf.click.control.Submit;
> import net.sf.click.control.TextField;
> import net.sf.click.extras.control.FieldColumn;
> import net.sf.click.extras.control.FormTable;
> import vdo.actedu.hibernate.Atelier;
> import vdo.actedu.hibernate.AtelierDAO;
> import vdo.actedu.hibernate.AtelierIntervenant;
> import vdo.actedu.hibernate.AtelierIntervenantDAO;
> import vdo.actedu.hibernate.AtelierTemps;
> import vdo.actedu.hibernate.AtelierTempsDAO;
> public class MoveInscriptionPage extends BorderPage {
> public String title = "Transfert d'inscriptions";
> public String atelierId = "";
> public Form formSearch = new Form();
> public FormTable tableInterv = new FormTable();
> public FormTable tableTps = new FormTable();
> Atelier atelier = new Atelier();
> //Déclaration listes de sélection
> private Select atelierSceSelect = new Select("atelier.libelle","Atelier
> Source");
> private Select atelierSelect = new Select("atelier.id","Atelier
> Cible");
> private Select intervSceSelect = new Select("intervenant.nom");
> private Select intervSelect = new Select("intervenant.id");
> private Select tempsSceSelect = new Select("temps.libelle");
> private Select tempsSelect = new Select("temps.id");
> List<Atelier> ateliers = new AtelierDAO().findAll();
> List<AtelierIntervenant> intervenantsSce = null;
> List<AtelierIntervenant> intervenantsCible = null;
> List<AtelierTemps> tempsSce = null;
> List<AtelierTemps> tempsCible = null;
> public MoveInscriptionPage() {
> //Formulaire intégrant la liste de sélection Atelier Cible
> formSearch.setErrorsPosition("middle");
> formSearch.setLabelAlign("right");
> atelierSceSelect.setReadonly(true);
> formSearch.add(atelierSceSelect);
> atelierSelect.add(new Option(0,""));
> atelierSelect.addAll(ateliers,"id","libelle");
> atelierSelect.setListener(this,"onChangeAtelier");
> atelierSelect.setAttribute("onChange","form.submit()");
> formSearch.add(atelierSelect);
> //Tableau listant les Intervenants de l'atelier Cible
> tableInterv.setClass("cgvo");
> tableInterv.setHoverRows(true);
> tableInterv.getForm().setErrorsPosition("middle");
> tableInterv.getForm().setButtonAlign("center");
> tableInterv.getForm().setLabelAlign("right");
> FieldColumn column = new FieldColumn("intervenant.id", "Intervenant
> Source", intervSceSelect);
> column.getField().setReadonly(true);
> tableInterv.addColumn(column);
> column = new FieldColumn("intervenant.nom", "Intervenant Cible",
> intervSelect);
> column.getField().setRequired(true);
> tableInterv.addColumn(column);
> //Tableau listant les Temps de l'atelier Cible
> tableTps.setClass("cgvo");
> tableTps.setHoverRows(true);
> tableTps.getForm().setErrorsPosition("middle");
> tableTps.getForm().setButtonAlign("center");
> tableTps.getForm().setLabelAlign("right");
> column = new FieldColumn("temps.id", "Temps Source", tempsSceSelect);
> column.getField().setReadonly(true);
> tableTps.addColumn(column);
> column = new FieldColumn("temps.libelle", "Temps Cible", tempsSelect);
> column.getField().setRequired(true);
> tableTps.addColumn(column);
> //Boutons Valider et Retour liés aux TableForm
> Submit validButton = new Submit(" Valider ", this, "onValid");
> validButton.setAttribute("class","button1");
> Submit cancelButton = new Submit(" Retour ", this, "onCancel");
> cancelButton.setAttribute("class","button1");
> tableTps.getForm().add(validButton);
> tableTps.getForm().add(cancelButton);
> }
> public boolean onChangeAtelier() {
> //Peuplement de la table des Intervenants de l'Atelier Source
> intervenantsSce = new
> AtelierIntervenantDAO().findByAtelierString(atelierSceSelect.getValue());
>
> intervSceSelect.addAll(intervenantsSce,"intervenant.id","intervenant.nom");
> tableInterv.setRowList(intervenantsSce);
> //Peuplement de la liste de sélection des Intervenants Cible
> intervenantsCible = new AtelierIntervenantDAO().findByAtelier(new
> Integer(atelierSelect.getValue()));
> intervSelect.add(new Option(0,""));
>
> intervSelect.addAll(intervenantsCible,"intervenant.id","intervenant.nom");
> //Peuplement de la table des Temps de l'Atelier Source
> tempsSce = new
> AtelierTempsDAO().findByAtelierString(atelierSceSelect.getValue());
> tempsSceSelect.addAll(tempsSce,"temps.id","temps.libelle");
> tableTps.setRowList(tempsSce);
> //Peuplement de la liste de sélection des Temps Cible
> tempsCible = new AtelierTempsDAO().findByAtelier(new
> Integer(atelierSelect.getValue()));
> tempsSelect.add(new Option(0,""));
> tempsSelect.addAll(tempsCible,"temps.id","temps.libelle");
> return true;
> }
> public void onInit() {
> atelierId = getContext().getRequestParameter("id");
> //Si l'id de l'atelier est renseigné et que l'on n'est pas en Post
> (Bouton Enregistrer)
> if (atelierId != null && !getContext().isPost()) {
> //On récupère l'atelier passé en paramètre
> atelier = new AtelierDAO().findById(new Integer(atelierId));
> //Mise en session de l'Atelier
> getContext().setSessionAttribute("atelier",atelier);
> } else
> //On récupère l'atelier de la session
> atelier = (Atelier)getContext().getSessionAttribute("atelier");
> //Mise à jour du libellé de l'Atelier Source
> atelierSceSelect.add(atelier.getLibelle());
> }
> public boolean onValid() {
> if (tableInterv.getForm().isValid() && tableTps.getForm().isValid()) {
> //Transfert des Inscriptions
> }
> return true;
> }
> public boolean onCancel() {
> setRedirect(AdmAtelierPage.class);
> return true;
> }
> public boolean onSecurityCheck() {
> if (getContext().hasSession()) {
> return true;
> } else {
> setRedirect(LoginPage.class);
> return false;
> }
> }
> }
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.