2015-10-27 42 views
0

我想設置自定義錯誤信息,驗證。如何在Play2-Scala 2.4控制器上設置自定義錯誤信息

這是我的控制器的操作方法Play2 - 斯卡拉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」條件的自定義消息。好。

但我無法設置「數字」條件的消息。在piyo參數中輸入「abc」時,錯誤信息就是「error.number」。

「Forms.number」方法沒有設置錯誤消息的參數。

如何設置自定義錯誤消息「表格」成員(文字,數字,布爾值,日期,電子郵件......)

回答

0

據我所知,你不能有兩個verifying表達式表單域。但是,您可以添加一個條件來檢查n是一個數字。

所以:

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

至於自定義錯誤消息,您可以定義在消息的conf文件的自定義消息。 您可以將Play! website中的示例適用於您的案例。

+0

謝謝。我嘗試它。 – tyamaz

相關問題