Fre*_*ind 6 forms validation playframework-2.0
我有一个用于记录的表单:
val loginForm = Form(tuple(
"email" -> (nonEmptyText verifying email.constraints.head),
"password" -> nonEmptyText
)
.verifying("Email doesn't exist", params => User.findByEmail(params._1) != None)
.verifying("Password incorrect", params =>
User.findByEmail(params._1).map(_.checkPassword(params._2)) == Some(true))
)
Run Code Online (Sandbox Code Playgroud)
注意最后有两个全局验证器.它们应该只在email
不为空且格式有效password
且不为空的情况下执行,所以我把它放在全局中.
我想Email doesn't exist
在email
输入Password incorrect
旁边显示,在输入旁边password
,如何在视图中执行此操作?
目前,我使用loginForm.globalError
,但它会在一个输入旁边显示它们.
@inputText(loginForm("email"), '_label->"Email:",
'_error->loginForm.globalError
)
@inputPassword(loginForm("password"), '_label->"Password:")
Run Code Online (Sandbox Code Playgroud)
恕我直言,全局错误应该保持全球,所以我把它放在你的输入之上:
@loginForm.globalError.map { error =>
<div>@error</div>
}
@inputText(loginForm("email"), '_label->"Email:")
@inputPassword(loginForm("password"), '_label->"Password:")
Run Code Online (Sandbox Code Playgroud)
否则你必须做这样的事情:
'_error -> loginForm.error("email").orElse(globalError)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2443 次 |
最近记录: |