模式无法提供正确的结果

我的问题是我想使用bean验证,所以我在我的雇员bean上这样做:

   @Pattern( regexp = "\.+",message="Name is not null") @Size(max=10,message = "Name is verylong") 
        private String name;

我想用模式检查字符串是否为空。问题是,如果字段长度> 10,则提交表单时会出现错误。但是,如果它为null,则不会给我五个错误。有人可以帮助我吗?

chyumkps198371 回答:模式无法提供正确的结果

如果要验证该字段不能为空,则还需要注释javax.validation.constraints.NotNull

        @Pattern( regexp = "\.+",message="Name is not null") 
        @Size(max=10,message = "Name is verylong") 
        @NotNull
        private String name;

请考虑如果您的字段被允许为null,但如果不为null,则它必须匹配特定的模式,这将如何工作-您需要采用某种方式来制作一个与空值(以及Size,和其他注释也需要这样做)。

相反,内置验证批注不认为需要检查空值-您的Pattern正在询问字符串是否为 empty (即“包含至少一个字符”),而不是null-您可能只想使用Size的min值?

本文链接:https://www.f2er.com/2777127.html

大家都在问