以下代码针对案例类验证json字段。如果名称,电子邮件,地址为空或者提供的是Integer而不是字符串,我该如何添加自定义错误消息?
implicit val reads: Reads[ValidateDetails] = (
(JsPath \ "name").read[String] and
(JsPath \ "email").read[String] and
(JsPath \ "address").read[String])(ValidateDBConfigJson.apply _)
}
我还想要以下json格式的自定义错误消息。
{
"ErrorMessages" :
[
"Error 1",
"Error 2"
]
}
读取后,对于每个字段,您可以filter
验证错误的结果。例如,字段name
:
(JsPath \ "name").read[String](JsPath \"name").read[String].filter(ValidationError("The length for name should be more than 5 characters"))(_.length > 5)