Как проверить длину 5 или 9 с помощью средства проверки гибернации? - PullRequest
4 голосов
/ 05 февраля 2010

Я могу проверить длину строки с аннотацией вроде:

@Length(max = 255)

Но что, если я хочу убедиться, что длина равна 5 или 9? Можно ли это сделать с помощью аннотации?

Ответы [ 2 ]

6 голосов
/ 06 февраля 2010

Попробуйте @Pattern (regex = ". {5} |. {9}") (измените точку на другой класс символов, если вы не хотите соответствовать всем.

3 голосов
/ 05 февраля 2010

Вот документация для реализации пользовательского ограничения .

Все просто:

  1. Вы определяете собственную аннотацию с соответствующими атрибутами
  2. Вы определяете класс, который будет выполнять проверку
  3. Вы определяете сообщения проверки
  4. Вы используете аннотацию

Так что, возможно, ваша аннотация может выглядеть так:

@Constraint(validatedBy=YourChecker.class)
//other annotations
public @interface AllowedValues {
    int[] value();
}
...