【发布时间】:2015-08-11 12:31:13
【问题描述】:
我有一个使用 Scala 的 Play Framework 2.3 项目。
我有一个模型:
case class User(
name: String,
login: String,
password: String,
isAdministrator: Boolean)
并且没有播放表单助手的视图中的表单:
<form action="@controllers.routes.Users.create()" method="POST">
<input type="text" name="login">
<input type="text" name="name">
<input type="password" name="password">
<input type="checkbox" name="isAdministrator">
<button type="submit" class="btn btn-success">Save</button>
</form>
尝试使用 scala 形式将其映射到控制器中:
val userForm = EntityForm[User](
_.name -> nonEmptyText,
_.login -> nonEmptyText,
_.password -> nonEmptyText,
_.isAdministrator -> boolean,
_.serviceProviderId -> optional(number)
)
def create = Action { implicit request =>
userForm.bindFromRequest.fold(
formWithErrors => BadRequest(
views.html.users.userNew()
),
user => {
//saving user code
}
)
}
这总是像这是一个糟糕的请求。调试器向我展示了复选框映射中的错误。请求中的复选框如下所示:密码 -> ArrayBuffer(on)
我也尝试相同:
_.isAdministrator -> checked("on"),
而且它也不起作用。 使用 Scala Forms 在 Play Framework 中映射复选框的正确方法是什么?
【问题讨论】:
标签: scala playframework playframework-2.3