以下のような`List`型フィールドを持つモデルへフォームから代入したい場合 ```java public static Parent { public String name; public List<Child> childList; } public static Child { public String name; } ``` 以下のようなビュー`viewForm.scala.html`を作成し ```scala @(form: Form[Parent]) @helper.form(CSRF(routes.Controller.postForm())){ @helper.inputText(form("name")) @helper.repeat(form("childList"), min = 1) { childField => @helper.inputText(childField("name")) } } ``` 以下のようにコントローラーでフォームをレンダリング / バインドすれば良い。 ```java import views.html.viewForm; public Result viewForm() { // フォームを作成 Form<Parent> form = formFactory.form(Parent.class); // 初期値を作成 Parent parent = new Parent(); parent.name = "cyrus"; parent.childList = new ArrayList<>(); for(int i = 0; i < 5; i++){ Child child = new Child(); parent.childList.add(child); } // 初期値を設定 form = form.fill(parent); return ok(viewForm(form).render()); } public Result postForm() { // フォームをバインド Form<Parent> form = formFactory.form(Parent.class).bindFromRequest(); // TODO return TODO; } ```
2019/10/04 17:10:56

コメント (0)

あなたもコメントしてみませんか

アカウント新規作成(無料)

既にアカウントを持っている方は ログイン