我的问题是我想使用bean验证,所以我在我的雇员bean上这样做:
@Pattern( regexp = "\.+",message="Name is not null") @Size(max=10,message = "Name is verylong")
private String name;
我想用模式检查字符串是否为空。问题在于,如果字段长度> 10,则提交表单时会出现错误。但是,如果它为null,则不会给我五个错误。有人可以帮助我吗?
如果要验证该字段不能为空,则还需要注释javax.validation.constraints.NotNull
:
@Pattern( regexp = "\.+",message="Name is not null")
@Size(max=10,message = "Name is verylong")
@NotNull
private String name;
考虑如果您的字段被允许为null,但如果不为null,则它必须匹配特定的模式,这将如何工作-您需要采用某种方式来使regexp显式匹配null值(以及Size和其他注释也需要这样做)。
相反,不将空值视为需要由内置的验证批注进行检查-您的模式正在询问字符串是否为空(即“包含至少一个字符”),而不是空-您可能会是否只想使用Size的min
值?