JSON验证自定义错误

时间:2018-09-19 06:21:37

标签: json scala playframework

以下代码针对案例类验证json字段。如果名称,电子邮件,地址为空或者提供的是整数而不是字符串,如何添加自定义错误消息?

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"
    ]
 }

1 个答案:

答案 0 :(得分:0)

读取后,对于每个字段,您可以filter进行验证错误的结果。例如,对于字段name

(JsPath \ "name").read[String](JsPath \"name").read[String].filter(ValidationError("The length for name should be more than 5 characters"))(_.length > 5)