在我看来,我正在创建一个单选按钮,值为0,1,2(字符串)。
inputRadioGroup(
dayForm("time"),
options("0"->"Morning","1"->"Afternoon","2"->"Night"))
在我的模型中,我使用时间作为整数值,而radiobox没有选项将输入作为整数提交。
所以在我的控制器中,我将时间输入转换为整数并检查值是否在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)
由于输入字符串尚未转换,因此会导致表单无法验证。
答案 0 :(得分: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))
)