Bonjour,
Je manipule depuis très récemment (ce matin) ce petit framework "common validator". Peut-être sauriez vous éclairer ma lanterne car là, je butte... Malgré l'aide trouvée sur le Net.
J'ai mon fichier struts-config qui définit le form héritant de DynaValidatorForm :
J'ai mon action qui demande la validation :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 <form-bean name="monForm" dynamic="true" type="org.apache.struts.validator.DynaValidatorForm"> </form-bean>
J'ai défini dans ma page un champ dont j'aimerais que l'user ne rentre que des chiffres :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <action path="/action" name="monForm" validate="true" type="action" input="/action.jsp"> <forward name="success" path="/success.jsp" /> </action>
J'ai défini mon validation.xml comme voulant que l'user rentre un entier :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <html:form action="/action"> <input type="text" size="20" name="cards"> <input type="submit" value="valid"> </html:form>
Et mes rules sont bien dans le validator-rules.xml :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <form name="monForm"> <field property="cards" depends="required,integer"> <arg position="0" key="cards" resource="false"/> </field> </form>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <validator name="integer" classname="org.apache.struts.validator.FieldChecks" method="validateInteger" 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.integer" jsFunctionName="IntegerValidations"/>
Quand j'exécute tout ça :
- je rentre rien : il me jette à cause du "required"
- je rentre des lettres : il me jette à cause du "required"
- je rentre des chiffres : il me jette à cause du "required"
...
C'est là que je ne comprend pas trop
Merci de vos lumières
Partager