我想设置自定义错误消息,验证。
这是我的控制器操作方法Play2-scala 2.4应用程序
val myForm1 = Form (
mapping(
"hoge" -> Forms.text.verifying("req!", { !_.isEmpty() }),
"piyo" -> Forms.number.verifying("1 to 10", n => { n >= 1 && n <= 10 })
)(MyFormRequest.MyParams1.apply)(MyFormRequest.MyParams1.unapply))
def validator1 = Action {
Ok(views.html.myformrequest.validator1(myForm1))
}
def check1 = Action { implicit request =>
val form = myForm1.bindFromRequest()
if (!form.hasErrors) {
val myParams1 = form.get
Ok("check1 ok hoge: " + myParams1.hoge + " piyo: " + myParams1.piyo)
} else {
Ok("check1 ng " + form.error("piyo").get.message)
}
}
这里
"piyo" -> Forms.number.verifying("1 to 10", n => { n >= 1 && n <= 10 })
我使用“验证”方法。我可以为“1&lt; = n&lt; = 10”条件设置自定义消息。行。
但是我无法为“数字”条件设置消息。在piyo参数中输入“abc”时,错误消息只是“error.number”。
“Forms.number”方法没有用于设置错误消息的参数。
如何为“Forms”成员设置自定义错误消息(文本,数字,布尔值,日期,电子邮件....)
答案 0 :(得分:0)
据我所知,你不能在表单字段上有两个verifying
表达式。但是,您可以再添加一个条件来检查n是否为数字。
所以:
n => { n >= 1 && n <= 10 && n.isInstanceOf[Int]}
就自定义错误消息而言,您可以在消息conf文件中定义自定义消息。 您可以根据Play! website调整示例。