在表单中填写布尔字段

时间:2013-07-07 16:19:03

标签: scala playframework

我有一个登录表单,用于检查用户是否选择“记住我”,如果符合条件,它将自动填写电子邮件字段。

这是我的Form对象:

val loginForm = Form(
tuple(
  "email" -> email,
  "password" -> text(minLength = 3),
  "remember" -> boolean
  )
)

会话中可能存在KV对("remember" -> email: String)。我有一个工作函数,它将此电子邮件作为Option[String]返回。

这是呈现登录页面的功能。 views.html.login是一个模板,它接受一个Form对象和一个可选的message: String,用于转发任何身份验证错误。

def login = Action {
    request => {
      logRequest(request)
      if (UserInfo.isAuth(request.session)) {
        Redirect(routes.Application.index())
      }
      else {
        val email = UserInfo.getRememberedEmail(request.session)
        if (email.isDefined) {
          Ok(views.html.login(loginForm.fill(email.get, "", true)))
        }
        else {
          Ok(views.html.login(loginForm))
        }
      }
    }
  }

我认为问题发生在Ok(views.html.login(loginForm.fill(email.get, "", true)))。在检查表单是否有错误时,我发现了这一点:

  

{“remember”:[“error.boolean”]}

0 个答案:

没有答案