我在我的表单上使用Hibernate验证器并遇到了这个问题。验证器如下:
@NotEmpty(message = "Firstname cannot be empty")
@Pattern(regexp = "^[a-zA-Z0-9_]+$", message = "First Name can only contain characters.")
private String firstname;
如果firstname为空,则@NotEmpty和@Pattern都会被触发。
问题
答案 0 :(得分:1)
尝试:
^[a-zA-Z0-9_]*$
而不是:
^[a-zA-Z0-9_]+$
*
应该使你的正则表达式也匹配空字符串。因此,对于String为空的情况,只应触发@NotEmpty