пользовательская проверка с использованием проверки Javax или Hibernate для коллекций - PullRequest
0 голосов
/ 22 октября 2018

Я использую validation-api-1.1.0.Final и hibernate-validator-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, как показано ниже

BookClient.java

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

BookFromDB.java

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

Я просмотрел достаточно и не смог получить ни одного потока, который будет выполнять проверку для списка. Было бы замечательно, если бы я получил какой-либо намек или любой другой альтернативный способ выполнить эту проверку эффективно.

Любая помощь будет заметна.

1 Ответ

0 голосов
/ 22 октября 2018

Hibernate Validator пока не поддерживает проверку объектов свободной формы.

Это то, над чем мы (в основном, Марко Бехта) работаем для 6.1, особенно для возможности проверки объектов JSON.

Не задерживайте дыхание, у нас нет приблизительной даты релиза.

...