我正在尝试将一段文本绑定到 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>
登录名和密码绑定正确。我的问题是角色序列总是空的。
我已经检查了传递给控制器方法的请求对象,并且(如果选择)两个角色都在那里——它们只是没有正确绑定在表单对象中。
有任何想法吗?
编辑:
我还在 play-framework Google Group ( https://groups.google.com/forum/#!topic/play-framework/KcbiF9K3d8w ) 上发布了我的问题并在那里收到了答案。解决方案是给选择一个名称:“roles[]”而不是“roles”。