Шаблон не дает правильный результат - PullRequest
0 голосов
/ 13 января 2020

Моя проблема заключается в том, что я хочу использовать проверку bean-компонента, поэтому я использую его для bean-компонента сотрудника:

   @Pattern( regexp = "\.+",message="Name is not null") @Size(max=10,message = "Name is verylong") 
        private String name;

Я хочу проверить с шаблоном, является ли строка нулевой. Проблема в том, что при отправке формы, если поле имеет длину> 10, это дает мне ошибку. Но если это ноль, это не пять я ошибка. Кто-нибудь может мне помочь?

1 Ответ

1 голос
/ 13 января 2020

Если вы хотите проверить, что поле не может быть пустым, вам дополнительно нужна аннотация javax.validation.constraints.NotNull:

        @Pattern( regexp = "\.+",message="Name is not null") 
        @Size(max=10,message = "Name is verylong") 
        @NotNull
        private String name;

Подумайте, как это будет работать, если вашему полю разрешено быть пустым, но если нет null должен совпадать с указанным шаблоном c - вам потребуется какой-то способ создания регулярного выражения, которое явно соответствует нулевому значению (и Size, и другие аннотации должны будут делать то же самое).

Вместо этого нулевые значения не считаются необходимыми для проверки встроенными аннотациями проверки - ваш шаблон запрашивает, является ли строка пустой (т. Е. «Содержит хотя бы один символ»), а не ноль - вы можете хотите просто использовать вместо min значение Size?

...