Настроить ошибки проверки json в игре 2.1

Я хотел бы предоставить собственное сообщение об ошибке непосредственно в определении Read:

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

Это возможно ?


person Max L.    schedule 12.02.2013    source источник


Ответы (1)


У нас еще нет объекта 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"))))
} }
person mandubian    schedule 13.02.2013