2010-06-14 9 views
2

J'ai une application Struts 2, la validation fonctionne très bien, elle valide les champs nécessaires et envoie le message d'erreur adéquat. Le problème vient dans un endroit très spécifique, c'est-à-dire le numéro de personnage 5838!Comportement bizarre dans Struts 2 validation

Dans mon dossier validation.xml j'ai de nombreux domaines définis, l'un d'eux est

<field name="idState"> 
     <field-validator type="requiredstring"> 
     <param name="expression"><![CDATA[ 
      idNumber == null || idNumber.trim().length() == 0 
     || (idState != null && idState.trim().length() > 0) 
      ]]></param> 
     <message>Please enter your State.</message> 
     </field-validator> 
    </field> 

(S'il vous plaît pardonnez mon formatage du code!) Techniquement je le message d'erreur

"Please enter your State." 

à mon amusement je reçois seulement

"Please enter yo". 

Et ceci arrive à l'emplacement 5838 (ie. le message d'erreur tronque).

Maintenant, si j'ajouter un espace dans la balise que je reçois

"Please enter y". 

je remarquai que cela se produit seulement à l'endroit 5838. Tous les messages avant et après ce sont affichés correctement.

Des indices sur ce qui se passe?

+1

Ce problème est-il lié au message d'erreur plutôt qu'au validateur? Qu'est-ce que le personnage numéro 5838? – Tarski

Répondre

0

Ne semble pas être un problème lié à ce validateur particulier pour moi. Ressemble plus à un problème d'analyse de l'ensemble du fichier validation.xml. Peut-être que le message d'erreur est cassé juste parce qu'il est au milieu d'un tampon de lecture.

Quelque chose de semblable m'est arrivé et c'était un caractère UTF-8 dans un fichier non UTF-8. Mon conseil est de vérifier l'ensemble du fichier pour d'éventuels problèmes d'analyse, après l'emplacement 5838 bien sûr.