簡體   English   中英

Play Framework 2.1 Scala - 表單綁定日期

[英]Play Framework 2.1 Scala - form binding for date

我想在Play Framework 2.1中為具有日期/時間字段的表單創建表單綁定。 是否有日期/時間輸入的標准驗證器? 我知道頁面表單也應該以特定格式發送日期/時間。 有誰知道任何預制解決方案嗎? 或者可以描述如何自己實現一個?

Play 2.1 內置支持 Twitter Bootstrap; 如果您采用該路線,那么Bootstrap Date Picker對於客戶端來說是一個很好的調用(即確保日期以yyyy-mm-dd或其他有效日期格式發送)。

在客戶端處理后,服務器端Play 2.1支持JodaTime ,因此您可以綁定post'd表單日期,如下所示:

object FooForm {
  import play.api.data.{Form, Forms}, Forms._
  val mapper = mapping(
    'fooDate-> jodaDate("yyyy-MM-dd")
  )(Foo.apply)(Foo.unapply)
  val form = Form( mapper )
}

就像@virtualeyes所說,從客戶端來看, DatePicker將生成正確的數據格式(默認為dd / MM / yyyy)。

但是,Play Framework需要使用bindFronRequest (客戶端 - >服務器)正確解組Date格式。

另外Play需要在生成表單時生成正確的日期字符串表示,該表單將被發送到視圖(控制器 - >視圖)。 java中,這可以通過提供DataBinder來完成。

可以在GitHub上打開的問題中找到此示例

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM