【发布时间】:2012-04-19 11:52:39
【问题描述】:
我有一个对象 Foo 包含对对象 Bar 的引用,该对象引用了对象 Baz,并且为了使 Foo 有效,Bar 必须有一个有效的、非-null 引用Baz。
问题是Bar 不需要 需要一个有效的、非空的Baz 才有效,所以我不能简单地将验证放在那里,我需要它在Foo 之内。
这是我正在谈论的类结构的简单伪版本:
class Foo {
// Bar needs to have a valid Baz. Something like this would be ideal:
// @HasAValidBaz(message="Baz is required")
Bar bar;
}
class Bar {
// Baz can be null and Bar will still be valid
// But if there _is_ a Baz, it needs to be valid
Baz baz;
}
class Baz {
@NotBlank(message="My String is required")
String myString;
}
我知道我可以使用类级别的自定义验证注释来做到这一点,但问题是那些错误对象和相应的消息适用于类实例而不是字段实例,我需要能够轻松显示错误正确表单字段旁边的消息。
有什么好的方法可以做到这一点,还是我坚持在控制器中实现这个验证?
【问题讨论】:
标签: java validation spring-mvc annotations