加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

java – 继承类的Spring MVC验证

发布时间:2020-12-15 01:44:18 所属栏目:大数据 来源:网络整理
导读:我很难相信我是唯一一个想要这样做的人,但我找不到任何能帮助我克服障碍的人.使用Spring MVC和基于注释的验证(我使用的是框架4.0和Java 1.7),考虑一个简单的类层次结构,如下所示: abstract class Foo { @Size(max=10,message = "The name has to be 10 char

我很难相信我是唯一一个想要这样做的人,但我找不到任何能帮助我克服障碍的人.使用Spring MVC和基于注释的验证(我使用的是框架4.0和Java 1.7),考虑一个简单的类层次结构,如下所示:

abstract class Foo {

    @Size(max=10,message = "The name has to be 10 characters or less.")
    private String name;

    public String getName() {
        return this.name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

class Bar extends Foo {

}

class Bang extends Foo {

}

如果我在Bar或Bang的实例中添加一个大于10个字符的名称,我会得到我期待的验证错误.但是,假设我仍然希望Bar和Bang从抽象基类Foo派生,但我希望子类的name属性具有不同的验证.

如何对Bar和Bang进行注释,以便Bar.name的最大长度为12个字符,而Bang.name的最大长度为8个字符?

非常感谢,

最佳答案
简短的回答是,在Bean Validation中不可能禁用超类中的约束.这里有一个功能请求https://hibernate.atlassian.net/browse/BVAL-256建议引入@OverrideConstraint或@IgnoreInheritedConstraint类型的注释.截至目前,虽然不可能这样做.

另见http://lists.jboss.org/pipermail/beanvalidation-dev/2012-January/000128.html和https://hibernate.atlassian.net/browse/HV-548.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读