在2.1中自定义json验证错误

时间:2013-02-12 21:23:59

标签: playframework playframework-2.1

我想直接在Read定义中提供自定义错误消息:

implicit val ar = (
 (__ \ "firstName").read[String].customError(ValidationError("bad format", "firstName")) and
 (__ \ "lastName").read[String] and
 (__ \ "address").read[Address]
)(Employee)

这可能吗?

1 个答案:

答案 0 :(得分:4)

我们在mapErrorReads[T]中尚未设置JsResult设施。 最好的方法就是重新定义自己的Reads [String]

implicit val StringReads = Reads{ json => json match {
  case JsString(s) => JsSuccess(s)
  case _ => JsError(Seq(JsPath() -> Seq(ValidationError("custom.error"))))
} }