I have following controller:
@RequestMapping(value = "/member/createCompany/addParams", method = RequestMethod.POST)
public String setCompanyParams(
@ModelAttribute MyDto myDto,
@RequestParam(value = "g-recaptcha-response") String recapchaResponse,
HttpSession session, Principal principal, Model model) throws Exception {
ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
Validator validator = factory.getValidator();
Set<ConstraintViolation<MyDto>> violations;
if(condition1){
violations = validator.validate(myDto, ValidationGroup1.class);
} else {
violations = validator.validate(myDto);
}
if (violations.size() > 0) {
return "member/createCompany/addParams";
}
...
}
MyDto class:
class MyDto {
@NotEmpty
String companyName;
@NotEmpty(groups = ValidationGroup1.class)
String generatedPassword;
}
and following jsp:
<form:form commandName="myDto" id="addParams" action="/member/createCompany/addParams" method="POST">
<form:errors cssClass="error" path="companyName"/><br/>
<form:input type="text" id="companyName" path="companyName" name="companyName" maxlength="255" value="${campaign.campaignName}"/><br/>
<form:errors cssClass="error" path="generatedPassword"/><br/>
<form:input path="generatedPassword" type="text" id="generatedPassword" name="generatedPassword" value="${generatedPassword}" />
...
</form:form>
When I submit form I see that
violations.size() > 0
is true
but when I see rendered page I dont see error messages.
What the problem?