gpt4 book ai didi

scala - Play Framework/Scala 表单中特定于字段的错误消息

转载 作者:行者123 更新时间:2023-12-04 11:41:05 25 4
gpt4 key购买 nike

在 Scala 表单助手中使用“nonEmptyText”约束时,我想自定义默认错误消息“此字段是必需的”。

这是我要自定义的示例:

  val form = Form(
tuple("email" -> nonEmptyText, "password" -> nonEmptyText)
verifying ("Invalid email or password.", result => result match {
case (email, password) => {
User.authenticate(email, password).isDefined
}
}))

最好在我的 conf/messages 文件中,我可以提供一个特定于字段的错误:
error.email.required=Enter your login email address
error.password.required=You must provide a password

但在最坏的情况下,我会对使用字段名称的通配符消息感到满意:
error.required=%s is required  
#would evaluate to "password is required", which I would then want to capitalize

我在一些 Play 1.x 文档中看到了这个 %s 表达式,但它似乎不再起作用了。

预先感谢您的帮助!

最佳答案

尝试放弃 nonEmptyText 的使用并使用一个简单的 text带有自定义验证的字段:

tuple(
"email" -> text.verifying("Enter your login email address", _.isDefined),
"password" -> text.verifying("You must provide a password", _.isDefined)
)

然后,您可以更进一步并交换 Stringverifying调用 play.api.i18n.Messages 的条款目的:
tuple(
"email" -> text.verifying(Messages("error.email.required"), _.isDefined),
"password" -> text.verifying(Messages("error.password.required"), _.isDefined)
)

请注意,这是未经测试的代码,但它应该指出方向。

祝你好运

关于scala - Play Framework/Scala 表单中特定于字段的错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12905271/

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