2011-01-21 3 views
1

J'ai une annotation @Password qui valide la saisie d'un mot de passe valide. D'abord, je voudrais vérifier avec @NotEmpty avant même d'appeler @Password pour obtenir de meilleurs messages d'erreur.Annotation personnalisée de validation annotation mvc

Si j'utilise @NotEmpty @Password Mot de passe string;

Je vais avoir deux erreurs de validation différentes.

J'ai essayé avec des groupes, mais tous les champs appartenant au groupe doivent être validés avant de valider le mot de passe.

Existe-t-il un bon moyen de résoudre ce problème? Actuellement, j'ai inclus @Not Empty dans l'implémentation @Password mais est-ce la meilleure façon de le faire?

+0

Veuillez préciser ce que vous voulez: un message d'erreur unique ou différents messages d'erreur? – Ralph

Répondre

0

Je suppose que @Password est une contrainte personnalisée que vous avez. Si vous voulez plutôt d'afficher un message d'erreur commune ou agrégée, quelle que soit la validation a échoué, vous pouvez utiliser @ReportAsSingleViolation

... 
@NotNull 
@Size(min = 6) 
@ReportAsSingleViolation 
public @interface Password { 
... 

Quelle que soit la validation a échoué, cela affichera le message associé à @Password. Ici, un message générique peut être spécifié.

+0

Non, je voudrais vraiment faire exactement le contraire. J'ai 3 messages différents dans @Passwrd + 1 dans @NotEmpty et j'aimerais avoir un message plus spécifique. Le problème est que j'obtiens 2 erreurs de validation, une de @NotEmpty et une de @Password si j'envoie une chaîne vide "". – Patrik

Questions connexes