【问题标题】:Pattern doesn't give correct result模式没有给出正确的结果
【发布时间】:2020-01-13 14:58:20
【问题描述】:

我的问题是我想使用 bean 验证,所以我在我的员工 bean 上使用:

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

我想用模式检查字符串是否为空。问题是,如果字段长度> 10,提交表单时,它会给我错误。但如果它为空,它不会给我五个错误。谁能帮帮我?

【问题讨论】:

    标签: java gwt pattern-matching bean-validation


    【解决方案1】:

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

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

    考虑如果您的字段被允许为空值,这将如何工作,但如果不是空值,它必须匹配特定的模式 - 您需要有某种方法来制作显式匹配空值的正则表达式(和大小,和其他注释也需要这样做)。

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

    【讨论】:

      猜你喜欢
      • 2014-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-01
      • 2021-07-13
      • 2015-11-12
      相关资源
      最近更新 更多