Witam,
Mam dodaną walidację po stronie serwera przy pomocy hibernate-validator. Walidacja działa, ale nie wyświetla treści błędów. Wiem, że walidacja działa, bo zostaje przekierowany z powrotem na stronę z formularzem, a w przypadku prawidłowego uzupełniania jest przekierowanie na inne.
<mvc:annotation-driven enable-matrix-variables="true" validator="validator"/>
<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basename" value="classpath:properties/messages"/>
<property name="defaultEncoding" value="UTF-8"/>
</bean>
<bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">
<property name="validationMessageSource" ref="messageSource" />
</bean>
Fragment formularza:
<form:form modelAttribute="newProject" class="form-horizontal">
<form:errors path="*" cssClass="alert alert-danger" element="div"/>
<div class="form-group">
<label for="name" class="col-sm-2 control-label">Nazwa</label>
<div class="col-sm-10">
<form:input path="name" cssClass="form-control"/>
<form:errors path="name" cssClass="text-danger"/>
</div>
</div>
Przykładowe pole z klasy:
@NotBlank
@Size(min=3, max=50, message="{min3max50}")
private String name;
Fragment metody obsługującej formularz - POST
if (result.hasErrors()) {
return new ModelAndView("redirect:/projects/add");
//throw new RuntimeException("Próba wiązania niedozwolonych pól: " + StringUtils.arrayToCommaDelimitedString(suppressedFields));
}