【问题标题】:Custom defined form Constraint throws a null pointer exception自定义表单约束抛出空指针异常
【发布时间】:2019-10-16 04:33:03
【问题描述】:

在我的表单上定义自定义 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 进行调试,但控制台中没有打印任何内容。

【问题讨论】:

    标签: forms scala playframework


    【解决方案1】:

    尝试像这样将myconstraint 定义移到form 定义之上

    val myconstraint : Constraint[MyForm] = Constraint("myconstraint")({ ...
    ...
    val form = Form( ...
    

    由于可能的前向引用问题,我们最终引用了一个未初始化的值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-11-22
      • 2020-08-10
      • 2013-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多