Я использую аннотации Hibernate Validator. Валидатор корректно возвращает свойство как недействительное, но не отображает сообщение, указанное в аннотации. Используя Java 8, org.hibernate.validator v. 6.1.2.Final.
@NotEmpty(message = "'Param 'user' must be provided")
String user = params.get("user");
Validator validator = Validation.buildDefaultValidatorFactory().getValidator();
List<Set<ConstraintViolation<String> > > validationResults = new ArrayList<Set<ConstraintViolation<String> > >();
validationResults.add(validator.validate(user));
for(Set<ConstraintViolation<String> > set : validationResults)
if(set.isEmpty() == false)
{
String combinedMessages = new String();
for(ConstraintViolation<String> i : set)
combinedMessages = combinedMessages + i.getMessage() + "; ";
throw new Exception(combinedMessages);
}
Я ожидаю, что комбинированные сообщения будут:
Необходимо указать параметр 'user'
Однако вместо этого выводится следующее:
HV000001: Hibernate Validator 6.1.2.Final
HV000116: проверяемый объект не должен быть null.
Пожалуйста, помогите мне понять, почему я не получаю ожидаемый результат. Спасибо.