我正在使用Bean验证,并且我想允许不区分大小写的输入。“ 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客户端验证中使用此功能。模式中是否存在问题,或者素语在客户端不支持CASE_INSENSITIVE标志?
更新:我曾尝试通过禁用客户端验证,validateClient="false"
但在服务器端验证仍然失败。
UDATE-2:regexp = "(?i)^$|^tas.*$"
只能在中使用Primefaces中的作品validateClient='false'
。启用客户端验证会导致向用户显示错误消息:“未定义”。Firebug控制台中不会显示任何javascript错误。
有一个蛮力解决方案。确实很丑:
@Pattern(regexp = "^$|^[Tt][Aa][Ss].*$", message = "Task ID must start with TAS",
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句