scala json 验证不工作

scala json validation not working

我正在关注 **Play For Scala ** 以验证和解析 Json

像这样将其转换为 JsValue 后,我在控制器中收到了一个请求

 val jsonRequest = request.body.asJson.get

我正在尝试像这样验证它

jsonRequest.validate[ReadArtWorkCaseClass].fold(

valid = {    
          readArtWorkCaseClass =>
            log.info("valid block")

          Ok("validation successful" )
         },     
invalid = {
           log.info("invalid block")
           errors => {               
             log.info("error block")
             BadRequest(JsError.toFlatJson(errors))
            }           
          }                    
        )

我已经为此实现了阅读

case class ReadArtWorkCaseClass(artworkid :String,
                                artistid :String,
                                institutionid :String ,
                                status :String,
                                groupactivityid:String,
                                details:String,
                                pricehistoryid :String,
                                sku :String,
                                dimensions :String,
                                artworkname :String,
                                artworkseries :String ,
                                workclassifier :String ,
                                genreid :String,
                                artworktype :String,
                                createddate:String)
    object ReadArtWorkCaseClass {

   implicit val artworkReads: Reads[ReadArtWorkCaseClass] = (
(JsPath \ "artWorkid").read[String] and
(JsPath \ "artistid").read[String] and
(JsPath \ "institutionid").read[String] and
(JsPath \ "activationStatus").read[String] and
(JsPath \ "groupactivityid").read[String] and
(JsPath \ "details").read[String] and
(JsPath \ "pricehistoryid").read[String] and
(JsPath \ "sku").read[String] and
(JsPath \ "dimensions").read[String] and
(JsPath \ "artworkname").read[String] and
(JsPath \ "artworkseries").read[String] and
(JsPath \ "workclassifier").read[String] and
(JsPath \ "genreid").read[String] and
(JsPath \ "artworktype").read[String] and
(JsPath \ "createddate").read[String]
)(ReadArtWorkCaseClass.apply _)
}

当我尝试通过输入空字段来验证 jsonrequest 时,它不会进入无效块而是运行有效块

请指导我我的错误是什么

(JsPath \ "artWorkid").read(minLength[String](1))

对我有用