Bonjour,
J'ai un formulaire de saisie qui contient différents champs.
Lorsque l'utilisateur clique sur enregistrer, j'ai une méthode de validation dans mon bean.
Or cette méthode ne fonctionne bien que si les données saisies sont déjà coté serveur. J'ai donc ajouté le paramètre immediate = true à un selectBooleanCheckbox pour avoir cette valeur coté serveur, cela ne semble pas marcher car la valeur n'est pas settée :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <p:autoComplete id="lieudomaine" value="#{saisirMandatForm.societeLieuDomaineComp}" completeMethod="#{saisirMandatForm.completeLieuxDomaines}" var="lieu" itemLabel="#{lieu}" itemValue="#{lieu}" converter="SocieteLieuDomaineCompConverter" forceSelection="true" size="25" disabled="#{saisirMandatForm.userLectureSeule}" required="true" requiredMessage="#{msg['DonneesDeBase']} - #{msg['LieuDomaineDeCompetenceEstObligatoire']}" validator="#{saisirMandatForm.validerSaisie}" queryDelay="1000" > </p:autoComplete> <p:selectBooleanCheckbox itemLabel="#{msg['PropreALaSociete']}" value="#{saisirMandatForm.propreASociete}" disabled="#{saisirMandatForm.userLectureSeule}" immediate="true" />Est-ce qu'il me manque encore quelque chose ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 public void validerSaisie(FacesContext context, UIComponent uiComponent, Object objet) { // Un mandat de vacances ou propre à une société doit impérativement être affecté au domaine de compétence "Administration" // ceci principalement pour éviter les erreurs de saisie SocieteLieuDomaineComp valeur = (SocieteLieuDomaineComp) objet; if (currentMandat.isMandatVacances() || currentMandat.isPropreASociete()) { if (valeur != null && !valeur.getDomaineCompetence().isAdministration()) { FacesMessage message = Messages.getMessage("MsgMandatVacancesOuPropreSocieteDoitEtreDomaineAdministration", FacesMessage.SEVERITY_ERROR, null); throw new ValidatorException(message); } } if (currentMandat.isArchive() && currentMandat.getDateFin() == null) { FacesMessage message = Messages.getMessage("MsgMandatDateFinObligatoireSiMandatArchivé", FacesMessage.SEVERITY_ERROR, null); throw new ValidatorException(message); } }
Merci pour votre aide
Partager