绑定失败阻止了对Play Framework 2.2.1中其他字段的进一步验证

时间:2014-01-07 14:46:03

标签: java playframework-2.0

我有一个包含多个字段的表单,我想在用户提交时验证它。

我遇到的问题是,如果一个字段由于应该绑定到int的字段中的非数字字符而不绑定,那么我的POJO中的validate方法将不会被调用。这意味着用户只会显示应该是数字的字段的错误,但不会显示其他字段的任何错误,因为在调用validate方法之前绑定失败。

我想知道绕这个最好的方法是什么?我希望能够向用户显示尽可能多的错误,而不是让他们修复一个,提交,并且由于另一个字段没有显示为先前有错误而再次失败。

1 个答案:

答案 0 :(得分:2)

我遇到了同样的问题,但是如果你看看Play的代码,你会发现它是不可能的。

github.com/playframework - Form.bind(Map,String[])

如果能够实例化您的POJO,则只能调用validate()。如果绑定失败,那么没有对象可以调用validate。

如果您希望所有验证一次性发生,那么我认为您必须使用所有基于注释的验证器(根据需要编写自己的验证器)或自己处理所有验证。