我想直接在Read
定义中提供自定义错误消息:
implicit val ar = (
(__ \ "firstName").read[String].customError(ValidationError("bad format", "firstName")) and
(__ \ "lastName").read[String] and
(__ \ "address").read[Address]
)(Employee)
这可能吗?
答案 0 :(得分:4)
我们在mapError
或Reads[T]
中尚未设置JsResult
设施。
最好的方法就是重新定义自己的Reads [String]
implicit val StringReads = Reads{ json => json match {
case JsString(s) => JsSuccess(s)
case _ => JsError(Seq(JsPath() -> Seq(ValidationError("custom.error"))))
} }