我想在 Play Framework 2.1 中为具有日期/时间字段的表单创建一个表单绑定。是否有日期/时间输入的标准验证器?我了解页面表单还应该以特定格式发送日期/时间。有谁知道任何预制解决方案?或者可以描述如何自己实现一个?
问问题
5279 次
2 回答
9
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 )
}
于 2012-12-19T13:55:10.830 回答
1
就像@virtualeyes 所说,从客户端,DatePicker将生成正确的数据格式(默认为 dd/MM/yyyy)。
但是,Play 框架需要使用 bindFronRequest
(客户端 -> 服务器)正确解组日期格式。
另外Play在生成Form的时候需要生成正确的Date字符串表示,会被发送到视图(控制器->视图)。在java中,这可以通过提供DataBinder来完成。
于 2014-07-18T15:18:00.163 回答