Из него мы можем узнать были ли ошибки валидации и какие при байденге http запроса на объект в контроллере
Например, вот такой у нас контроллер
@Controller
public class SearchCommentController {
...................
@RequestMapping(method = RequestMethod.POST)
public String displayCommentAlert(@Validated FormParams params, BindingResult bindingResult, Model model) {
if (bindingResult.hasErrors() == false) {
List<CommentWithPeopleDetail> foundComments = commentDao.find(params);
model.addAttribute("foundComments", foundComments);
}
return "commentAlert";
}
...................
}
bindingResult инжектится спригом в метод контроллер
вот валидатор
public class SearchCommentParamValidator implements Validator {
@Override
public boolean supports(Class<?> clazz) {
return FormParams.class.isAssignableFrom(clazz);
}
@Override
public void validate(Object target, Errors errors) {
FormParams params = (FormParams) target;
if (StringUtils.isBlank(params.getRuleId()) && StringUtils.isBlank(params.getRef())) {
errors.reject(null, "Необходимо указать или 'ID правила', и/или 'Объект алерта'!");
} else if (params.getDateFrom() == null || params.getDateTo() == null) {
errors.reject(null, "Необходимо указать период поиска!");
}
}
}