我正在尝试将一定数量的文本绑定(bind)到Scala表单。到目前为止,我得到的是以下代码:

val registerForm = Form[User](
mapping(
  "login" -> text,
  "password" -> text,
  "roles" -> seq(text)
) {
  (login, password, roles) => User(login = login, password = password, roles = roles)
} {
  user => Some((user.login, user.password, user.roles))
})

我的HTML表单选择是:
<select id="roles" name="roles"  multiple="multiple">
    <option value="ADMIN">Admin</option>
    <option value="TESTER">Tester</option>
</select>

登录名和密码已正确绑定(bind)。我的问题是角色序列始终为空。

我已经检查了传递给 Controller ​​方法的请求对象,并且(如果已选择)两个角色都存在-它们只是未正确地绑定(bind)在表单对象中。

有任何想法吗?

编辑:

我也将我的问题发布到了Play框架Google Group(https://groups.google.com/forum/#!topic/play-framework/KcbiF9K3d8w)上,并在那里得到了答案。
解决方案是给选择一个名称:“roles []”而不是“roles”。

最佳答案

弄清楚了。

解决方案是给选择一个名称:“roles []”而不是“roles”。

10-05 20:56
查看更多