【问题标题】:How to Set custom error message on Play2-Scala 2.4 controller如何在 Play2-Scala 2.4 控制器上设置自定义错误消息
【发布时间】:2015-10-27 22:13:44
【问题描述】:

我想设置自定义错误信息,验证。

这是我的控制器操作方法 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

但我无法为“数字”条件设置消息。在 piyo 参数中输入“abc”时,错误信息就是“error.number”。

“Forms.number”方法没有设置错误信息的参数。

如何为“表单”成员设置自定义错误消息(文本、数字、布尔值、日期、电子邮件......)

【问题讨论】:

    标签: scala validation playframework-2.4


    【解决方案1】:

    据我所知,一个表单域中不能有两个verifying 表达式。但是,您可以再添加一个条件来检查 n 是否为数字。

    所以:

    n => { n >= 1 && n <= 10 && n.isInstanceOf[Int]}
    

    至于自定义错误消息,您可以在消息配置文件中定义自定义消息。 您可以根据您的情况调整Play! website 中的示例。

    【讨论】:

      猜你喜欢
      • 2023-04-03
      • 2011-07-28
      • 1970-01-01
      • 1970-01-01
      • 2022-08-23
      • 1970-01-01
      • 2020-02-12
      • 1970-01-01
      • 2016-07-04
      相关资源
      最近更新 更多