Mise en veille prolongée validateur problème de trim NotEmpty
-
20-09-2019 - |
Question
Il semble que l'annotation NotEmpty
Hibernate ne provoque pas une erreur pour les chaînes remplies d'espaces (" "
). ne fonctionne que pour les valeurs nulles ou des chaînes vides (ie: new String()
). Y at-il une solution de contournement / correctif pour cela?
La solution
Remplacez votre @NotEmpty avec une annotation @Pattern qui comprend une expression regex qui échouera sur les chaînes qui sont des espaces purs ou vide (vous pourrez peut-être inclure à la fois @NotEmpty et @Pattern et simplifier l'expression rationnelle de cette façon). Ou écrire un validateur personnalisé comme décrit ici .
Autres conseils
@NotEmpty est utilisé pour vérifier la taille plutôt que le contenu et applique aux collections ainsi que des chaînes. La fonctionnalité que vous cherchez est prévu dans @NotBlank qui est spécifique à cordes et ne tient pas compte des espaces de fuite.
@NotBlank
est le moyen de tester des longueurs de chaîne avec un appel implicite garniture.