2

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

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

这可能吗 ?

4

1 回答 1

4

我们在or中还没有mapError设施。最好的方法就是重新定义你自己的 Reads[String]Reads[T]JsResult

implicit val StringReads = Reads{ json => json match {
  case JsString(s) => JsSuccess(s)
  case _ => JsError(Seq(JsPath() -> Seq(ValidationError("custom.error"))))
} }
于 2013-02-13T10:54:12.890 回答