2009-05-05 8 views
0

Je travaille sur l'application Struts2. J'ai une page jsp ayant 3 champs de texte. Et je valide chaque champ via le fichier action-validation.xml. Maintenant je veux que si la validation échoue au premier champ il ne devrait pas vérifier les deux autres champs et le résultat vont directement à la page de jsp (disons a.jsp) montrant le message d'erreur pour ce seul dossier seulement. Et si la validation n'échoue pas au premier champ, alors il faut vérifier le reste des champs, ie deuxième et troisième fileld et maintenant si la validation échoue ici alors aussi aller directement à la page jsp mais différente (disons b.jsp) montrant le message d'erreur. Est-ce possible? Si oui alors s'il vous plaît faites-moi savoir avec cela.problème dans plusieurs validation.xml pour une seule action dans struts2

J'ai essayé, mais l'action est validation.xml valider tous les champs dans les messages individuels de prise de vue et d'erreur pour tous les champs est affiché dans une page jsp que je l'ai écrit sous a.jsp

Merci à l'avance.

Répondre

1

Vous pouvez ajouter un court-circuit dans votre champ validateur

par exemple

<!-- Field Validators for email field --> 
    <field name="email"> 
     <field-validator type="required" short-circuit="true"> 
      <message>You must enter a value for email.</message> 
     </field-validator> 
     <field-validator type="email" short-circuit="true"> 
      <message>Not a valid e-mail.</message> 
     </field-validator> 
    </field> 
    <!-- Field Validators for email2 field --> 
    <field name="email2"> 
    <field-validator type="required"> 
      <message>You must enter a value for email2.</message> 
     </field-validator> 
    <field-validator type="email"> 
      <message>Not a valid e-mail2.</message> 
     </field-validator> 
    </field> 

si le courrier électronique est vide ou non valide, email2 ne sera pas validé

http://struts.apache.org/2.x/docs/validation.html

« La défaillance d'un validateur particulier marqué comme court-circuit empêchera l'évaluation des validateurs ultérieures »

+0

Salut Roy, Cela fonctionne très bien. Mais je veux aussi que si la validation d'email échoue elle ira à une certaine page de jsp (disons a.jsp) et si la validation d'email2 échoue elle ira à un autre jsp (disons b.jsp). Comme il retourne toujours le résultat en tant que "entrée" quand la validation échoue ainsi je peux viser seulement une page de jsp contre lui. S'il vous plaît fournir une solution si possible? Merci de votre réponse. –

+0

Vky, s'il vous plaît fermer ce que j'ai fourni une réponse à cette question dans http://stackoverflow.com/questions/828534/action-validation-xml-in-struts2-open-different-pages-when-validation-fails -at-d. –

Questions connexes