我有一个对象Foo
,它包含对 object 的引用,Bar
该引用具有对 object 的引用Baz
,并且为了Foo
有效,Bar
必须对Baz
.
问题是它Bar
不需要有效的、非 nullBaz
的有效,所以我不能简单地将验证放在那里,我需要它在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;
}
我知道我可以使用类级自定义验证注释来做到这一点,但问题是这些错误对象和相应的消息适用于类实例而不是字段实例,我需要能够轻松地在旁边显示错误消息正确的表单域。
有没有一种好方法可以做到这一点,还是我坚持在控制器中实现这个验证?