【问题标题】:Hibernate validator NotEmpty trim issue休眠验证器 NotEmpty 修剪问题
【发布时间】:2011-01-05 14:56:46
【问题描述】:

Hibernate NotEmpty 注释似乎不会导致用空格 (" ") 填充的字符串出错。仅适用于 null 或空字符串(即:new String())。有解决方法/解决方法吗?

【问题讨论】:

    标签: java hibernate validation hibernate-validator


    【解决方案1】:

    用包含正则表达式的 @Pattern 注释替换您的 @NotEmpty 注释,该表达式将在纯空格或空字符串上失败(您可以同时包含 @NotEmpty 和 @Pattern 并以这种方式简化正则表达式)。或者按照here 的描述编写自定义验证器。

    【讨论】:

    • 谢谢,我最终编写了一个自定义验证器。
    【解决方案2】:

    @NotEmpty 用于检查大小而不是内容,适用于集合和字符串。您正在寻找的功能在 @NotBlank 中提供,它特定于字符串并忽略尾随空格。

    【讨论】:

    • 我希望 Hibernate 的一些约束已进入 JEE6。我发现默认的 JEE6 约束集有些有限!
    • 请注意,@NotEmpty 是在 4.1 版中添加的。对于 4.1 之前的版本,您将需要使用自定义验证器或 @Pattern。有关详细说明,请参阅 stackoverflow.com/a/17136803/2102634
    【解决方案3】:

    @NotBlank 是使用隐式修剪调用测试字符串长度的方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-08-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-20
      相关资源
      最近更新 更多