2010-03-31 4 views
4

J'utilise la validation de Struts2 sur un formulaire Web. Dans le cas où un champ est supposé être un entier ou une date, le message <s:fielderror> que je reçois est un générique Invalid field value for field "[fieldname]" Naturellement, je veux personnaliser ceci pour l'utilisateur.Comment modifier le message d'erreur de validation Struts2 dans le cas d'une valeur de champ non valide?

Voici un exemple de validation:

<field name="spouseDOB"> 
    <field-validator type="date"> 
     <message>"Spouse Date of Birth" is invalid.</message> 
    </field-validator> 
    <field-validator type="date"> 
     <param name="min">01/01/1900</param> 
     <message>"Spouse Date of Birth" must be after 1900 AD.</message> 
    </field-validator> 
</field> 

Le message "Spouse Date of Birth" is invalid. ne semble, pour une date invalide que je l'ai essayé. La sortie est l'objet générique

spouseDOB est un objet dans la classe d'action. Il est défini par un <s:textfield> dans la JSP.

+0

Eh bien, au moins j'ai eu le Tumbleweed mauvais ge pour ça. . . –

Répondre

-1

Eh bien il manque </message> pour une chose

+0

Je suis assez sûr que l'erreur n'était pas présente dans le code réel. –

8

Dans votre fichier ApplicationResources.properties, insérez

invalid.fieldvalue.spouseDOB = "Spouse Date of Birth" is invalid. 

Si vous ne possédez pas ce fichier, regardez this.

+0

Je n'ai aucun moyen de vérifier si cette réponse résout ce problème de l'année dernière. –

+0

Désolé, vu sur google, juste impulsivement répondu: [ – yuudachi

+0

yuudachi, pour référence cette réponse est sur place. La valeur invalid.fieldvalue.XXX (XXX étant fieldName) est la clé de ressource de message nécessaire pour remplacer le message d'erreur par défaut conversionValidation! – Mutmatt

0

faire un fichier de propriétés dans le même package dans lequel votre classe d'action est défini

fichier "youactionclassname.properties" et l'erreur en ajoutant pour elle,

comme "invalid.fieldvalue.yourfiledname = as you want for error ", et faire le prochain.

  1. enregistrez-le
  2. et re start server
  3. run

maintenant vous pouvez le voir, l'erreur a été personnalisé ....

Dites-moi si les travaux

Bonne chance

+0

J'ai posé cette question il y a près de cinq ans! Depuis, j'ai changé de travail plusieurs fois et je n'ai certainement pas accès au code en question. –

Questions connexes