首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >BindingResult中未捕获Spring javax.validation批注

BindingResult中未捕获Spring javax.validation批注
EN

Stack Overflow用户
提问于 2011-04-26 01:40:16
回答 3查看 2.6K关注 0票数 1

我正在尝试使用javax.validation注释向我的模型对象(兼做我的表单支持bean)添加验证。

我的模型是这样的:

代码语言:javascript
运行
复制
public Class TestObject {
    private String myProp;
    private InnerObject innerObject;

    //getters and setters omitted
}

public Class InnerObject {
  private BigDecimal myValue;

  @NotNull
  public BigDecimal getMyValue();
}

在我的控制器中,我有这样的方法调用:

代码语言:javascript
运行
复制
public View calculate(@ModelAttribute("testObject") @Valid TestObject testObject, BindingResult result)

我在spring-servlet.xml文件中也有这个<mvc:annotation-driven/>

每次我使用空值运行表单时,它都会告诉我有0个绑定结果错误。

我在类路径上使用带有Hibernate-Validator-4.2.0和Validation-API-1.0.0的Java 1.6。

有没有人可以帮助我,让我知道我做错了什么?我已经玩了一段时间了,还不能让它工作。

谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-04-26 23:21:37

确定以解决我更改的BigDecimal错误:

代码语言:javascript
运行
复制
private BigDecimal myField;

代码语言:javascript
运行
复制
private BigDecimal myFeild = BigDecimal.Zero;

现在可以正常工作了。

唯一的缺点是,因为这些是我的表单支持对象,所以最初在字段中显示的是零而不是空白。

我不确定有没有办法解决这个问题?

票数 0
EN

Stack Overflow用户

发布于 2011-04-26 01:59:13

您没有引用您的InnerObject类。您的控制器接受一个TestObject,但是类TestObject的字段"innerObject“是String类型。

票数 0
EN

Stack Overflow用户

发布于 2011-04-26 05:12:02

好的,让我们再深入一点。我注意到我仍然在我的控制器中使用一个自定义验证器,如下所示:

代码语言:javascript
运行
复制
binder.setValidator(new CustomValidator());

所以我删除了它,然后在内部对象的getter上方添加了@Valid,如下所示:

代码语言:javascript
运行
复制
@Valid
public InnerObject getInnerObject();

现在我可以看到我的代码中有绑定错误。不过,我有一个新问题。我在BigDecimal属性上有@NotNull,并得到以下错误

代码语言:javascript
运行
复制
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is javax.validation.UnexpectedTypeException: No validator could be found for type: java.math.BigDecimal

从文档中看,似乎支持BigDecimal。所以不确定到底是怎么回事。不过,我觉得我越来越接近了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5781200

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档