Как я могу подтвердить бин на символе? - PullRequest
0 голосов
/ 14 ноября 2018

Я только что обнаружил, что @Pattern может работать (только) с CharSequence с.

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

//@Pattern(regex = "[YN]") // @@?
private char someYn; // 'Y' or 'N'

Будет ли это смешиваться?

Использование AttributeConverter не вариант.

О, это char тоже CharSequence?

1 Ответ

0 голосов
/ 14 ноября 2018

Вы можете написать свой собственный ConstraintValidator:

https://docs.oracle.com/javaee/7/api/javax/validation/ConstraintValidator.html

Где вы можете предоставить тип аннотации и проверки, для которых вы можете определить свою логику И затем вы можете аннотировать свое поле с помощью пользовательскогоаннотация

Вот ссылка с шагами, как это сделать:

https://dzone.com/articles/create-your-own-constraint-with-bean-validation-20

Согласно документации по проверке javax:

@ Pattern (regex =,flag =) String.

Дополнительно поддерживается HV: любой подтип CharSequence.

Проверяет, соответствует ли аннотированная строка регулярному выражению регулярному выражению с учетом заданного флага

Так что на самом деле с помощью Character с использованием @Pattern вы получите ошибку

Спасибо

...