Как проверить длину 5 или 9 с помощью валидатора спящего режима?

StackOverflow https://stackoverflow.com/questions/2210091

Вопрос

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

@Length(max = 255)

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

Это было полезно?

Решение

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

Это очень просто:

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

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

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

Другие советы

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top