Bonjour,
Je viens de parcourir les posts concernant les messages d'erreur lors de la validation d'un formulaire, mais je me permets de poster tout de même, car j'ai un souci et je pense qu'il ne manque pas grand chose pour le résoudre ..
J'ai un formulaire d'ajout, et lorsque la personne clique sur Enregistrer, j'émets un confirm en javascript pour le prévenir :
Si il annule, retour sur la page, s'il met Ok , 2 possibilités :
Tous les champs sont remplis et l'enregistrement se fait.
Sinon, j'affiche un modalPanel pour lui indiquer les champs vides.
Et c'est à ce niveau là que ça coince.
J'ai défini mes messages dans messages.properties, qui est défini dans faces config, ces messages s'affichent bien mais j'ai aussi les messages par défaut de jsf qui s'affichent ... :s
Je mets une copie d'écran de ce que j'obtiens en fichier joint .
Mon code :
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
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72 <webuijsf:form id="form1"> <h:outputText id="text2" style="left: 72px; top: 60px; position: absolute" value="Enregistrer une nouvelle personne :"/> <h:panelGrid columns="1" id="grille" style="height: 192px; left: 48px; top: 72px; position: absolute" width="264"> <h:panelGroup id="panel1"> <h:outputText id="outNom" value="Nom :"/> <h:inputText label="#{msgs.pasdenomPersonne}" id="inNom" required="true" title="Nom de la personne" value="#{PersonneBean.nompersonne}"/> </h:panelGroup> <h:panelGroup id="panel2"> <h:outputText id="outPrenom" value="Prénom :"/> <h:inputText label="#{msgs.pasdeprenomPersonne}" id="InPrenom" required="true" title="Prénom de la personne" value="#{PersonneBean.prenompersonne}"/> </h:panelGroup> <h:panelGroup id="panel3"> <h:outputText id="outMatricule" value="Matricule :"/> <h:inputText label="#{msgs.pasdematriculePersonne}" id="InMatricule" required="true" title="Matricule de la personne" value="#{PersonneBean.matricule}"/> </h:panelGroup> <h:panelGroup id="panel4"> <h:outputText id="outDate" value="Date mise à* jour :"/> <h:inputText maxlength="10" size="10" title="date de mise à jour" value="#{PersonneBean.datemiseajour}"> <f:convertDateTime pattern="dd/MM/yyyy" type="date"/> </h:inputText> </h:panelGroup> <h:panelGroup id="panel5"> <h:outputText id="outAcces" value="Accès au logiciel"/> <h:selectBooleanCheckbox id="selectBox1" title="A accès à l'outil" value="#{PersonneBean.acceslogiciel}"/> </h:panelGroup> </h:panelGrid> <h:panelGrid columns="2" id="grille2" style="height: 144px; left: 360px; top: 72px; position: absolute" width="182"> <h:outputText id="outEquipe" value="Appartient à* l'équipe : "/> <h:selectOneListbox label="#{msgs.pasdequipePersonne}" id="listeEquipes" onchange="submit" required="true" size="5" value="#{PersonneBean.nomEquipe}"> <f:selectItems binding="#{EquipeBean.nomEquipe}" id="listbox1SelectItems" value="#{EquipeListbean.listItemsEquipes}"/> </h:selectOneListbox> </h:panelGrid> <h:panelGrid columns="2" id="grille3" style="height: 144px; left: 360px; top: 150px; position: absolute" width="150"> <h:outputText id="outResp" value="A comme responsable : "/> <h:selectOneListbox id="listePersonnes" value="#{PersonneBean.nomResponsable}"> <f:selectItems binding="#{ResponsableBean.nomPersonne}" id="listboxItemsResponsables" value="#{ResponsableListBean.listItemsResponsables}"/> </h:selectOneListbox> </h:panelGrid> <h:commandButton onclick="if (!confirm('Voulez-vous enregistrer cette personne ?')) { return false; }else{return true;}" style="top:450px ; left:25px ; position:absolute" id="buttonValiderInscription" value="Enregistrer" action="#{PersonneBean.enregistrerPersonne}"> <a4j:support oncomplete="Richfaces.showModalPanel('panelVerif');"/> </h:commandButton> </webuijsf:form> </webuijsf:body> <rich:modalPanel id="panelVerif" width="350" height="150" showWhenRendered="#{facesContext.maximumSeverity!=null}"> <f:facet name="header"> <h:panelGroup> <h:outputText value="Vérification "></h:outputText> </h:panelGroup> </f:facet> <f:facet name="controls"> <h:panelGroup> <h:graphicImage value="/Images/Modal/close.png" style="cursor:pointer" id="hidelink"/> <rich:componentControl for="panelVerif" attachTo="hidelink" operation="hide" event="onclick"/> </h:panelGroup> </f:facet> <h:outputText value="Attention il y a des erreurs dans les champs suivants : "></h:outputText> <br/><br/> <h:message errorClass="errorMessage" for="inNom"/> <br/> <h:message errorClass="errorMessage" for="InPrenom"/> <br/> <h:message errorClass="errorMessage" for="InMatricule"/> <br/> <h:message errorClass="errorMessage" for="listeEquipes"/> </rich:modalPanel>
Le code de message.properties :
Si vous avez des idées ..
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5pasdenomPersonne=Veuillez entrer le nom de la personne pasdeprenomPersonne=Veuillez entrer le prénom de la personne pasdematriculePersonne=Veuillez entrer le matricule de la personne pasdequipePersonne=Veuillez choisir l'équipe de la personne
J'ai essayé de créer un fichier pour les messages par défaut de jsf, mais le souci est de pouvoir afficher chaque message concernant chaque champ ...
Partager