Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JSR-303 Bean验证和Primefaces CSV中不区分大小写的匹配_Java_Regex_Primefaces_Bean Validation - Fatal编程技术网

Java JSR-303 Bean验证和Primefaces CSV中不区分大小写的匹配

Java JSR-303 Bean验证和Primefaces CSV中不区分大小写的匹配,java,regex,primefaces,bean-validation,Java,Regex,Primefaces,Bean Validation,我正在使用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; 我在P

我正在使用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客户端验证中使用它。模式中是否有错误,或者primefaces是否不支持客户端的不区分大小写标志

更新: 我已尝试使用
validateClient=“false”
禁用客户端验证,但在服务器端验证仍然失败

UDATE-2:
使用
regexp=“(?i)^$| ^tas.*$”
仅在使用
validateClient='false'
的Primefaces中有效。启用客户端验证将导致向用户显示一条错误消息:“未定义”。firebug控制台中不显示javascript错误。

有一个暴力解决方案。但是真的很难看:

@Pattern(regexp = "^$|^[Tt][Aa][Ss].*$", message = "Task ID must start with TAS", 

如果您使用类似.toLowerCase()的方法,那么输入后所有内容都将以小写形式显示。@LandelinDelcoucq这会在代码中产生噪音,为此目的会进行验证。请尝试:-
“(?i)^$| ^tas.*$”
@rock321987这适用于禁用的客户端验证。但它会以错误消息“undefined”中断客户端验证。firebug控制台中没有显示javascript错误。这似乎是Primefaces CSV中的唯一方法。