我正在尝试使用 javax.validation 注释向我的模型对象(它兼作我的表单支持 bean)添加验证。
我的模型如下所示:
public Class TestObject {
private String myProp;
private InnerObject innerObject;
//getters and setters omitted
}
public Class InnerObject {
private BigDecimal myValue;
@NotNull
public BigDecimal getMyValue();
}
在我的 Controller 中,我有这样的方法调用:
public View calculate(@ModelAttribute("testObject") @Valid TestObject testObject, BindingResult result)
我还有 <mvc:annotation-driven/>
在我的 spring-servlet.xml 文件中。
每次我使用 null 值运行表单时,它都会告诉我有 0 个绑定(bind)结果错误。
我在类路径上使用 Java 1.6 以及 Hibernate-Validator-4.2.0 和 Validation-API-1.0.0。
任何人都可以帮助我并让我知道我做错了什么吗?已经玩了一段时间了,但无法让它工作。
谢谢
最佳答案
您没有引用您的 InnerObject 类。您的 Controller 正在采用 TestObject,但 TestObject 类的字段“innerObject”是 String 类型。
关于java - Spring javax.validation 注释未在 BindingResult 中捕获,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5781200/