0

Ceci est dans le prolongement à la question posée ci-dessous:Cross Validation terrain JSR303

Cross field validation with Hibernate Validator (JSR 303)

Je suis nouveau à JSR 303, mon exigence est - Dans ma page (j'utilise Spring WebFlow pour créer un sondage) J'ai deux champs de texte disent Amount1 et Amount2, si Amount2 est inférieur à Amount1 alors j'ai besoin d'afficher un message d'erreur de validation juste en dessous du champ Amount2 en disant (Amount2 ne peut pas être inférieur à Amount1). En utilisant la réponse donnée ci-dessus, je peux voir ce message en haut de la page mais pas en dessous du champ.

Ce qui fonctionne:

@Amount(amount1= "amount1", amount2= "amount2") 
public class SurveyBean extends ModelContextBean implements Serializable{ 

Ce qui ne fonctionne pas:

public class SurveyBean extends ModelContextBean implements Serializable{ 
@Amount(amount1= "amount1", amount2= "amount2") 
private String getAmount2(){} 

Quelqu'un pourrait-il s'il vous plaît aidez-moi à la façon d'appliquer la validation sur le terrain cross au niveau du terrain ...

Merci d'avance

Répondre

0

Ceci n'est pas vraiment une question de validation de bean ou de Hibernate Validator . Le problème est dans l'interface utilisateur. Je n'ai aucune idée comment le mappage dans Spring WebFlow de l'erreur de contrainte au champ fonctionne, mais je m'attendrais à ce qu'il y ait un moyen de le personnaliser. Du point de vue de la validation du bean, la seule façon de comparer deux champs du même bean consiste à utiliser une contrainte de niveau de classe personnalisée. Il n'y a juste pas d'autre moyen. Le problème ici est que le mappage automatique des messages d'erreur aux champs. Penser un peu plus à ce sujet, mettre le message au sommet comme cela semble se produire maintenant, a du sens pour Spring Web Flow. C'est une contrainte au niveau de la classe après tout et elle ne peut pas savoir à quels champs elle s'applique.

+0

Merci de confirmer que la validation entre champs n'a pu être appliquée qu'au niveau de la classe. – user3367569

Questions connexes