У меня есть простой класс, подобный этому,
import javax.validation.constraints.NotNull;
import org.hibernate.validator.constraints.Length;
public class Form implements Serializable {
@NotNull
@Length(min = 2, max = 20)
private String lastName;
}
У меня есть файл messages.properties в пути к классам.Затем он загружается через Spring bean следующим образом:
<bean name="validator"
class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">
<property name="validationMessageSource">
<ref bean="resourceBundleLocator"/>
</property>
</bean>
<bean name="resourceBundleLocator" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basenames">
<list>
<value>classpath*:messages.properties</value>
</list>
</property>
</bean>
Все, что я хочу, это настроить сообщения об ошибках в соответствии с проверенным bean-компонентом.Другими словами, я хочу, чтобы каждый объект ConstraintViolation возвращал сообщение об ошибке, которое я определил в своем файле свойств, вместо сообщения по умолчанию.Можно ли добавить свойство сообщения со значением наподобие этого формата {xxx.yyyy.zzzz} и сослаться на это сообщение из файла messages.properties?
ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
Validator validator = factory.getValidator();
Set<ConstraintViolation<Form>> inputErrors = validator.validate(form);
Если я хочу настроить сообщение по умолчанию для @NotNull и @Length, как я могу это сделать?
Мой опыт проверки Hibernate ноль ,Любой пример кода или пошаговая инструкция будет принята с благодарностью.