Question

Comment afficher le message d'erreur de validation d'une vue qui se produit à la suite d'annotation @AssertTrue? Il est pas lié à un champ spécifique, mais je l'utilise pour valider une combinaison de champs. Si j'utilise <form:errors path="*"/> qui affiche toutes les erreurs pour cette forme?

Était-ce utile?

La solution 2

Déclarer une propriété booléenne est ce qui semble fonctionner pour cela. Donc, s'il y a:

@AssertTrue
public boolean isConditionTrue() {
   ...
   ...
}

déclarant alors une propriété comme:

private boolean conditionTrue;

œuvres.

Autres conseils

D'après ce que je l'ai testé, il est important Comment vous nommez votre fonction de test. Et vous devez le nommer correctement.

Vous ne devez champ, getter ou setter mais votre fonction doivent commencer par 'est * déclaration.

fe.

@AssertTrue
public boolean isConditionTrue() {
   ...
   ...


}

ou

@AssertTrue
public boolean isSomethingElseOk() {
   ...
   ...
}

Bien, vous avez besoin d'un champ et getter / setter si vous avez besoin d'utiliser une forme d'erreur avec le chemin, comme:

<form:errors path="someFieldToDisplay" />

Mais je pense que cela est tout à fait évident.


Certains problèmes de schéma que je ne l'ai pas, mais pas dans peut-être utile:

Cela peut être utile aussi bien: manque de messages d'erreur .

Mais si vous utilisez schéma sans balise de version, il utilise la dernière version par défaut.

Vous devez appeler votre propriété comme ceci:

@AssertTrue(message = "....")
private boolean conditionTrue; //***NOT isConditionTrue***

public boolean isConditionTrue() {
    return conditionTrue;
}

public void setConditionTrue(boolean conditionTrue) {
    this.conditionTrue= conditionTrue;
}

<form:errors path="*"/> or
<form:errors path="conditionTrue"/>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top