kgx*_*kgx 7 scala playframework playframework-2.0
我想在Scala表单助手中使用"nonEmptyText"constaint时自定义默认错误消息"此字段是必需的".
这是我想要自定义的示例:
val form = Form(
tuple("email" -> nonEmptyText, "password" -> nonEmptyText)
verifying ("Invalid email or password.", result => result match {
case (email, password) => {
User.authenticate(email, password).isDefined
}
}))
Run Code Online (Sandbox Code Playgroud)
最好在我的conf/messages文件中,我可以提供特定于字段的错误:
error.email.required=Enter your login email address
error.password.required=You must provide a password
Run Code Online (Sandbox Code Playgroud)
但在最糟糕的情况下,我会对使用字段名称的通配符信息感到满意:
error.required=%s is required
#would evaluate to "password is required", which I would then want to capitalize
Run Code Online (Sandbox Code Playgroud)
我在一些Play 1.x文档中看到了这个%s表达式,但它似乎不再起作用了.
预先感谢您的帮助!
尝试删除a的用法nonEmptyText并使用text带有自定义验证的简单字段:
tuple(
"email" -> text.verifying("Enter your login email address", _.isDefined),
"password" -> text.verifying("You must provide a password", _.isDefined)
)
Run Code Online (Sandbox Code Playgroud)
然后,您可以进一步移动并交换子句String内部verifying以调用play.api.i18n.Messages对象:
tuple(
"email" -> text.verifying(Messages("error.email.required"), _.isDefined),
"password" -> text.verifying(Messages("error.password.required"), _.isDefined)
)
Run Code Online (Sandbox Code Playgroud)
请注意,这是未经测试的代码,但它应该指出方向.
祝好运
| 归档时间: |
|
| 查看次数: |
3847 次 |
| 最近记录: |