【问题标题】:Spring Validation - NULL or valid urlSpring Validation - NULL 或有效 url
【发布时间】:2017-06-21 16:15:22
【问题描述】:

在我的 Spring Boot 应用程序中,我有以下方法:

Decision create(@NotBlank String name, String url, @NotNull User author);

现在我直接在代码中检查以下条件:

if (!org.apache.commons.lang3.StringUtils.isEmpty(url) && !urlValidator.isValid(url)) {
    throw new IllegalArgumentException("Decision url is not valid");
}

换句话说 - url 参数可以是 null 或有效的 url。

是否可以用现有的验证注释替换此代码(例如 JSR-303)?

【问题讨论】:

标签: java spring validation bean-validation jsr


【解决方案1】:

Bean Validation 规范不包含对 url 的约束,但一些实现者将该约束添加为像 Hibernate Validator 的 @URL 这样的扩展,但请记住扩展的使用会损害可移植性,以避免您可以基于正则表达式创建自己的验证器。对于其他部分,您可以将 @NotBlank 用于用于名称字符串的 url 字符串空控件,看起来您在 @NotNull、@NotBlank、NotEmpty 约束之间存在混淆。

看看这个答案:https://stackoverflow.com/a/17137308/5964741

但是无论你选择扩展还是创建自己的验证器 url 字符串的空控件都是多余的。

【讨论】:

    猜你喜欢
    • 2013-09-05
    • 2021-03-24
    • 1970-01-01
    • 1970-01-01
    • 2010-10-19
    • 2013-08-03
    • 1970-01-01
    • 2019-10-25
    • 1970-01-01
    相关资源
    最近更新 更多