日付/時刻フィールドを持つフォーム用に、PlayFramework2.1でフォームバインディングを作成したいと思います。日付/時刻入力用の標準ベリファイアはありますか?ページフォームも特定の形式で日付/時刻を送信する必要があることを理解しています。そのためのプレハブソリューションを知っている人はいますか?または、自分で実装する方法を説明できますか?
質問する
5279 次
2 に答える
9
Play 2.1 には、Twitter Bootstrapのサポートが組み込まれています。そのルートを取る場合、Bootstrap Date Pickerはクライアント側の適切な呼び出しです (つまり、日付がyyyy-mm-dd
他の有効な日付形式として送信されるようにします)。
クライアントが処理されると、サーバー側の Play 2.1 はJodaTimeをサポートするため、投稿されたフォームの日付を次のようにバインドできます。
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) を生成します。
bindFronRequest
ただし、Play Framework は(client -> server)を使用して Date 形式を正しくアンマーシャルする必要があり ます。
また、Play はフォームを生成するときに正しい日付文字列表現を生成する必要があり、これはビュー (コントローラー -> ビュー) に送信されます。Javaでは、これはDataBinderを提供することで実行できます。
于 2014-07-18T15:18:00.163 に答える