D'après la doc que j'ai trouvé, la clause validwhen peut me permettre de contoler côté client que le champ confirmPassword est bien identique au champ password. J'ai créé et vérifier sur la toile ma condition dans validation.xml semble bonne.
validation.xml :
Dans la jsp j'ia bien ajouté la balise html:error liée à ma propriété, c'est là que devrait apparaitre mon erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 ... <field property="mdpConf" depends="validwhen"> <arg0 key="error.mdpConf" /> <var> <var-name>test</var-name> <var-value>(*this* == mdp)</var-value> </var> </field> ...
Coté validator-rules j'ia juste récupéré la clause validwhen de struts que j'ai customisé avec mon message d'errreur.
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 <tr> <td id="divMdp" class="RechBlocBleu"><label><i18n:message key="Password" /></label></td> <td class="RechBlocCiel"><html:password name="formMonProfil" property="mdp" size="10" maxlength="15" /> </td> </tr> <tr> <td id="divMdpConf" class="RechBlocBleu"><label><i18n:message key="PasswordConf" /></label></td> <td class="RechBlocCiel"><html:password name="formMonProfil" property="mdpConf" size="10" maxlength="15" /><html:errors property="mdpConf"/></td> </tr>
validator-rules.xml :
J'ai sur ce meme champs obligatoire une clause validator "required" qui m'affiche bien la popup javascript en cas d'erreur. A noté que je m'attends à la création d'une méthode javascript validateValidWhen dans la page web au coté de la méthode validateRequired, et que celle ci n'est pas générée (je vérifie dans firebug).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 ... <validator name="validwhen" classname="org.apache.struts.validator.validwhen.ValidWhen" method="validateValidWhen" methodParams="java.lang.Object, org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, org.apache.struts.action.ActionMessages, org.apache.commons.validator.Validator, javax.servlet.http.HttpServletRequest" depends="" msg="errors.invalid.alert" /> ...
Partager