1

我的表单上有一个名为“allergies”的特殊输入表单(选择多个),但如果我这样做,它会返回错误:

Form<Child> form = form(Child.class).bindFromRequest();

从我的服务器端,出现“无效值”错误。

为了让它几乎可以工作,我应该将我的字段重命名为“allergies.id”,但我无法更改它。

所以我想忽略这个字段的错误,并做了类似的事情:

form.field("allergies").errors().clear()

但是,如果我做一个

if (form.hasErrors())

它返回 true,仅用于过敏。

我怎么能忽略过敏的验证?

4

2 回答 2

4

我不确定操纵列表是否非常聪明。一个更干净的方法是只绑定你想要的字段。public Form<T> bind(Map<String,String> data, String... allowedFields) {.

无论如何 form.field("allergies").errors().clear() 无法工作,因为您有一个错误映射,其中键 'allergies' 存在一个空列表。form.errors().remove("allergies");应该管用。

于 2012-07-05T11:36:20.423 回答
1

您可以使用:

 form.discardErrors();
于 2014-10-17T22:42:33.200 回答