(nonEmptyText verifying email.constraints.he-6ren">
gpt4 book ai didi

forms - 如何在不同的输入中显示表单的全局错误?

转载 作者:行者123 更新时间:2023-12-04 14:49:18 24 4
gpt4 key购买 nike

我有一个用于记录的表格:

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))
)

注意最后有两个全局验证器。只有在 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:")

最佳答案

恕我直言,全局错误应该保持全局​​,所以我把它放在你的输入之上:

@loginForm.globalError.map { error =>
<div>@error</div>
}
@inputText(loginForm("email"), '_label->"Email:")
@inputPassword(loginForm("password"), '_label->"Password:")

否则你必须做这样的事情:
'_error -> loginForm.error("email").orElse(globalError)

关于forms - 如何在不同的输入中显示表单的全局错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9750683/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com