1

フォームに「アレルギー」という名前の特別な入力フォーム (複数選択) がありますが、そうするとエラーが返されます。

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() が機能しません。form.errors().remove("allergies");動作するはずです。

于 2012-07-05T11:36:20.423 に答える
1

あなたが使用することができます:

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