0

私の見解では、値が 0,1,2 (文字列) のラジオ ボタンを作成しています。

inputRadioGroup(
  dayForm("time"),
  options("0"->"Morning","1"->"Afternoon","2"->"Night"))

私のモデルでは、時間を整数値として使用していますが、ラジオボックスには入力を整数として送信するオプションがありません。

したがって、私のコントローラーでは、時間入力を整数に変換し、値が0〜2の間であるかどうかを確認しました。

val dayForm = Form(
  mapping(
    "id" -> optional(longNumber),
    "time" -> <what can I  do here to avoid type mismatch?>,
    "date" -> sqlDate("yyyy-MM-dd") (Entry.apply)(Entry.unapply)

時間を int に変換し、0 ~ 2 の数値かどうかを確認する方法はありますか? このような:

"time" -> number (min =0, max =2)

入力文字列が変換されていないため、フォームが検証されません。

4

1 に答える 1

0

書けると思います

val dayForm = Form(
    mapping(
    "id" -> optional(longNumber),
    "time" -> number (min =0, max =2),
    "date" -> sqlDate("yyyy-MM-dd")
    )((id, time, date) => Entry(id, convertFunction(time), date))
    ((entry: Entry) => Some(entry.id, inverseFunction(entry.time), entry.date))
)
于 2013-07-12T15:48:51.227 に答える