Json验证自定义错误

问题描述 投票:0回答:1

以下代码针对案例类验证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"
    ]
 }
json scala playframework
1个回答
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)
© www.soinside.com 2019 - 2024. All rights reserved.