Как проверить длину 5 или 9 с помощью валидатора спящего режима?
-
18-09-2019 - |
Вопрос
Я могу проверить длину строки с помощью аннотации типа:
@Length(max = 255)
Но что, если я хочу убедиться, что длина равна 5 или 9?Можно ли это сделать с помощью аннотации?
Решение
Вот документация по реализации пользовательского ограничения.
Это очень просто:
- Вы определяете свою собственную аннотацию с соответствующими атрибутами.
- Вы определяете класс, который будет выполнять проверку.
- Вы определяете сообщения проверки
- Вы используете аннотацию
Итак, возможно, ваша аннотация может выглядеть так:
@Constraint(validatedBy=YourChecker.class)
//other annotations
public @interface AllowedValues {
int[] value();
}
Другие советы
Попробуйте @Pattern(regex=".{5}|.{9}") (измените точку на другой класс символов, если вы не хотите, чтобы все соответствовало.
Не связан с StackOverflow