Lift CRUDify でMappedDateを正しく(?)扱う

以前ブログエントリに書いたCRUDifyは、ちょっとしたデータを作る時とかに便利。ただ、日付あるいは時刻型(MappedDate, MappedDateTime)のフィールドにうまく値が設定できなかった。MM/dd/YYYYで入力したんだけど…

で、解決方法は、文字列を日付にパースするメソッド及び日付を文字列にするメソッドをそれぞれおオーバーライドする。

object dateField extends MappedDate(this) {
import java.text.{SimpleDateFormat, ParseException}
import java.util.Date
val dateFormat = new SimpleDateFormat("yyyy/MM/dd")
override def format(d: Date): String = dateFormat.format(is)
override def parse(s: String): Box[Date] = {
try {
Full(dateFormat.parse(s))
} catch {
case e: ParseException => Empty
}
}
}

 参考にしたのはMLのやりとり(1, 2, 3

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です