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 :
Code :
- <form-bean name="monForm" dynamic="true" type="org.apache.struts.validator.DynaValidatorForm">
- </form-bean>
|
J'ai mon action qui demande la validation :
Code :
- <action path="/action"
- name="monForm"
- validate="true"
- type="action"
- input="/action.jsp">
- <forward name="success" path="/success.jsp" />
- </action>
|
J'ai défini dans ma page un champ dont j'aimerais que l'user ne rentre que des chiffres :
Code :
- <html:form action="/action">
- <input type="text" size="20" name="cards">
- <input type="submit" value="valid">
- </html:form>
|
J'ai défini mon validation.xml comme voulant que l'user rentre un entier :
Code :
- <form name="monForm">
- <field property="cards" depends="required,integer">
- <arg position="0" key="cards" resource="false"/>
- </field>
- </form>
|
Et mes rules sont bien dans le validator-rules.xml :
Code :
- <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