[Struts] Validator: vérification d'un entier invalide

Validator: vérification d'un entier invalide [Struts] - Java - Programmation

Marsh Posté le 16-05-2008 à 14:40:54    

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 :
  1. <form-bean name="monForm" dynamic="true" type="org.apache.struts.validator.DynaValidatorForm">
  2. </form-bean>


 
J'ai mon action qui demande la validation :
 

Code :
  1. <action path="/action"
  2. name="monForm"
  3. validate="true"
  4. type="action"
  5. input="/action.jsp">
  6.  <forward name="success" path="/success.jsp" />
  7. </action>


 
J'ai défini dans ma page un champ dont j'aimerais que l'user ne rentre que des chiffres :
 

Code :
  1. <html:form action="/action">
  2. <input type="text" size="20" name="cards">
  3. <input type="submit" value="valid">
  4. </html:form>


 
J'ai défini mon validation.xml comme voulant que l'user rentre un entier :
 

Code :
  1. <form name="monForm">
  2. <field property="cards" depends="required,integer">
  3. <arg position="0" key="cards" resource="false"/>
  4. </field>
  5. </form>


 
Et mes rules sont bien dans le validator-rules.xml :
 

Code :
  1. <validator name="integer"
  2.             classname="org.apache.struts.validator.FieldChecks"
  3.                method="validateInteger"
  4.          methodParams="java.lang.Object,
  5.                        org.apache.commons.validator.ValidatorAction,
  6.                        org.apache.commons.validator.Field,
  7.                        org.apache.struts.action.ActionMessages,
  8.                        org.apache.commons.validator.Validator,
  9.                        javax.servlet.http.HttpServletRequest"
  10.               depends=""
  11.                   msg="errors.integer"
  12.        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

Reply

Marsh Posté le 16-05-2008 à 14:40:54   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed