Я использую проверку бина, и я хочу разрешить вход без учета регистра. 'tas123' и 'TAS123' должны быть действительными вводами. Нижний регистр работает, но прописные буквы, такие как «TAS123», не работают.Нечувствительное к регистру совпадение в JSR-303 Проверка валов и правильность CSV
@Pattern(regexp = "^$|^tas.*$", message = "Task ID must start with TAS",
flags = {Pattern.Flag.CASE_INSENSITIVE, Pattern.Flag.UNICODE_CASE})
private String taskId;
Я использую это при проверке на стороне клиента. Есть ли что-то не так в шаблоне или не имеет ли интерфейсы флаг CASE_INSENSITIVE на стороне клиента?
UPDATE: Я попытался отключить проверку клиента с validateClient="false"
, но проверка по-прежнему не на стороне сервера.
UDATE-2: Использование regexp = "(?i)^$|^tas.*$"
работ в Primefaces только с validateClient='false'
. Включение проверки клиента приводит к появлению сообщения об ошибке: «undefined». Ошибки javascript не отображаются в консоли firebug.
И если вы используете метод liketotoLowerCase()? Как после вашего ввода все будет в нижнем регистре. –
@LandelinDelcoucq это помещает шум в код, для этого сделаны валидации. – joc
вы можете попробовать: - '' (? I)^$ |^tas. * $ "' – rock321987