玩2 scala:在控制器代码中向窗体添加错误
我确实希望在控制器代码中处理一些输入数据,因为:玩2 scala:在控制器代码中向窗体添加错误,scala,validation,playframework-2.0,Scala,Validation,Playframework 2.0,我确实希望在控制器代码中处理一些输入数据,因为: 它只适用于非常特定的情况,因此在表单定义中混淆验证函数会降低代码的内聚性 它产生我需要在控制器的其他地方使用的附带结果 生成新的表单的干净方式表单是什么,就像刚刚在表单的成功分支中绑定了附加(字段或常规)错误消息的表单。折叠 为了说明这一点,我希望使用(不存在的)Form.withError方法: val form= myForm.bindFromRequest form.fold( errors => BadRequest(view(
验证
函数会降低代码的内聚性表单
的干净方式表单是什么,就像刚刚在表单的成功
分支中绑定了附加(字段或常规)错误消息的表单。折叠
为了说明这一点,我希望使用(不存在的)Form.withError
方法:
val form= myForm.bindFromRequest
form.fold(
errors => BadRequest(view(errors))
{
case(data, button) =>
button match {
case Some("save") =>
val r= costlyFunction(data)
if (r.isOk) {
doSomethingWith(r)
Ok(...)
}
else {
val f= form.withError("my custom error")
BadRequest(view(f))
}
case ...
}
}
我自己发现的:
val f= Form(form.mapping, form.data,
Seq(new play.api.data.FormError("error.key", "my error")), form.value)
为噪音道歉——把它留在这里,以防其他人像我一样被卡住。更简短的选择:
val f=form.withError(“error.key”、“my error”)),form.value)
略短:form.copy(errors=form.errors:+newformerror(“error.key”、“我的错误”)