Bonjour à tous,
Je souhaite faire une validation declarative de type regex sur un champ. Le problème est qu'il n'a pas l'air de vouloir prendre en compte cette regex.
J'ai tenté de mettre cette regex sur un autre champ pour voir si c'était la regex qui était mauvaise, mais non! Elle marche bien sur un autre champ.
En chipotant un peu, je me suis rendu compte que la seule différence, c'était que le type de la variable derrière le champ sur lequel la regex marchait était un String et sur celui sur lequel ca ne marche pas, le type est un double.
Ma regex :
Donc je veux que l'utilisateur entre dans le champ un chiffre tel que 999.99.
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <field-validator type="regex"> <param name="expression"><![CDATA[(\A[0-9]{0,3}\.?[0-9]{0,2}\z)]]></param> <message key="error.format"></message> </field-validator>
Si je ne met pas de validator ou même si j'en mets un et que je rentre "aaaa" par exemple, le message qui en sort est toujours "Invalid field value for field...."
On dirait que Struts tente de faire une conversion avant la validation... Et du coup, il me renvoie sa propre erreur.
Si je rentre un chiffre quelconque, il ne me met pas d'erreur mais la regex n'est pas appliquée.
Si vous avez une piste ou si vous avez eu le même cas etq ue vous l'avez résolu, ce serait sympa de m'aider.
Partager