Как установить пользовательское сообщение об ошибке на контроллере Play2-Scala 2.4

Я хочу установить пользовательское сообщение об ошибке, validation.

Это мой метод действия контроллера Приложение 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 ‹= n ‹= 10». ХОРОШО.

Но я не могу установить сообщение для условия «число». При вводе «abc» в параметре piyo сообщение об ошибке будет просто «error.number».

Метод "Forms.number" не имеет параметра для установки сообщения об ошибке.

Как установить пользовательское сообщение об ошибке для членов «Форм» (текст, число, логическое значение, дата, электронная почта....)


person tyamaz    schedule 27.10.2015    source источник


Ответы (1)


Насколько я могу судить, у вас не может быть двух выражений verifying в поле формы. Однако вы можете добавить еще одно условие, чтобы проверить, что n является числом.

So:

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

Что касается пользовательских сообщений об ошибках, вы можете определить собственное сообщение в файле конфигурации сообщений. Вы можете адаптировать примеры из Play! веб-сайт в вашем случае.

person airudah    schedule 27.10.2015