我在表单上定义自定义Constraint
时遇到问题。这是我的表格:
val form = Form(
mapping(
"field" -> boolean
)(MyForm.apply)(MyForm.unapply)
如果我执行以下操作:
val form = Form(
mapping(
"field" -> boolean
)(MyForm.apply)(MyForm.unapply).verifying("my constraint", f => f.field == true)
然后它工作正常。但是,如果我尝试使用以下自定义Constraint
,则会抛出空指针异常,我不知道为什么:
val form = Form(
mapping(
"field" -> boolean
)(MyForm.apply)(MyForm.unapply).verifying(myconstraint)
val myconstraint : Constraint[MyForm] = Constraint("myconstraint")({
form =>
if(form.field == true){
Valid
}else {
Invalid(Seq(ValidationError("problem")))
}
})
我尝试使用println
进行调试,但控制台中没有打印任何内容。
尝试像这样将myconstraint
定义移动到form
定义上方
val myconstraint : Constraint[MyForm] = Constraint("myconstraint")({ ...
...
val form = Form( ...
由于可能存在前向引用问题,我们最终引用了一个未初始化的值。