2010-07-16 5 views

Répondre

2

Pour les deux javax.validation.Length et org.hibernate.validator.constraints.Length la valeur par défaut est:

int max() default Integer.MAX_VALUE; 

dire 2147483647. Donc, pas tout à fait illimitée, mais assez. Si cela ne vous convient pas, vous pouvez définir votre propre contrainte (par JSR 303 - javax.validation) et utiliser un long paramètre au lieu de int.

2

Je sais que je peux définir une valeur maximale sur cette annotation, mais est-ce que quelqu'un sait s'il est possible de définir une valeur max illimitée?

Le max est un int et par défaut Integer.MAX_VALUE. Et puisque l'API Java String ne supporte pas les Strings plus longs que Integer.MAX_VALUE caractères (une telle Chaîne nécessiterait plus de 4 Go de stockage), ceci est cohérent. Et permettant une plus grande taille au niveau de la contrainte est certainement pas.

Et d'ailleurs, une valeur max illimitée n'a pas beaucoup de sens en tant que "contrainte". Si vous ne voulez pas contraindre quelque chose, ne définissez pas de contrainte.

En guise de remarque, je suggère d'utiliser la norme @Size de la validation du bean au lieu de l'annotation @Length de Hibernate Validator.