我正在使用Bean Validation,我想允许不区分大小写的输入。 ' tas123'和' TAS123'应该是有效的输入。小写是工作但大写如TAS123'失败。
@Pattern(regexp = "^$|^tas.*$", message = "Task ID must start with TAS",
flags = {Pattern.Flag.CASE_INSENSITIVE, Pattern.Flag.UNICODE_CASE})
private String taskId;
我在Primefaces客户端验证中使用它。模式中是否存在错误,或者客户端的primefaces不支持CASE_INSENSITIVE标志?
更新
我曾尝试使用validateClient="false"
禁用客户端验证,但验证仍然在服务器端失败。
UDATE-2:
使用regexp = "(?i)^$|^tas.*$"
只能在validateClient='false'
的Primefaces中使用。启用客户端验证会导致向用户显示错误消息:' undefined'。在firebug控制台中没有显示javascript错误。
答案 0 :(得分:1)
有一种蛮力的解决方案。真的很难看:
@Pattern(regexp = "^$|^[Tt][Aa][Ss].*$", message = "Task ID must start with TAS",