代码之家  ›  专栏  ›  技术社区  ›  VelNaga

对集合使用javax或hibernate验证的自定义验证

  •  0
  • VelNaga  · 技术社区  · 6 年前

    我在用 验证-API-1.1.0.最终版 休眠验证程序-5.3.6.final . 我想对下面的案例进行验证,

    从客户处收到的信息,

    "BookInfo":[  
                {  
                   "key":"book.name",
                   "value":"D12345678"
                },
                {  
                   "key":"author.phoneNumber",
                   "value":{  
                      "phone_number":"0123456789",
                      "numberInfo":{  
                         "contryCode":"44",
                         "numberRegion":"GB",
                         "numberType":"MOBILE"
                      }
                   }
                },
                {  
                   "key":"author.email",
                   "value":"a@b.com"
                }
             ]
    

    验证规则在数据库中指定如下,

     "BookInfo":[  
                         {  
                            "key":"name",
                            "type": "text"
                            "Validation":{  
                               "pattern":"[a-z,A-Z]"
                            }
                         },
                         {  
                            "key":"author.phoneNumber",
                            "type": "tel" //It should perform custom validation i have written for phone number validation
                            "localValidation":{  
                            }
                         },
                         {  
                            "key":"author.email",
                            "type":"email",
                            "localValidation":{
                            "pattern": "[*@gmail.com]" //It should perform javax email validation+pattern mentioned here
                            },
                            "optional":false
                         }
                      ]
    

    我想根据数据库中存储的规则和从客户机收到的有效负载执行验证。我想使用上面的2库来执行这些验证。我将上述2个信息存储在下面的Java bean中

    bookclient.java语言

    public Class BookClient {
      private List<Map<String, Object>> bookInfo;
    }
    

    bookfromdb.java语言

    public Class BookFromDB {
      private List<Map<String, Object>> bookInfo;
    }
    

    我已经浏览了足够多的内容,但我无法获得任何线程来执行列表的验证。如果我得到任何提示或其他有效执行验证的方法,那将是非常好的。

    任何帮助都是可观的。

    1 回复  |  直到 6 年前
        1
  •  0
  •   Guillaume Smet    6 年前

    hibernate验证器暂时不支持自由表单对象的验证。

    这是我们(主要是marko bekhta)为6.1所做的工作,特别是能够验证json对象。

    不过,别屏住呼吸,我们没有任何估计的释放日期。

    推荐文章