@InitBinder protected void initBinder(final WebDataBinder binder) { binder.addValidators(yourCustomValidator, anotherValidatorOfYours); }
@InitBinder public void initDataBinder(WebDataBinder dataBinder) { if (this.validator != null) { dataBinder.addValidators(this.validator); } }
@InitBinder public void initDataBinder(WebDataBinder dataBinder) { if (this.validator != null) { dataBinder.addValidators(this.validator); } }
public abstract class BaseController <T> { public BaseController(List<Validator> validators) { super(); this.validators = validators; } //Register all validators @InitBinder protected void initBinder(WebDataBinder binder) { validators.stream().forEach(v->binder.addValidators(v)); } }
@InitBinder protected void initBinder(WebDataBinder binder) { binder.addValidators(new FirstNameValidator()); }
@InitBinder public void initBinder(WebDataBinder binder){ binder.addValidators(new PassValidator()); }
@Controller public class UserDetails { @InitBinder public void binder(WebDataBinder binder) { binder.addValidators(new PasswordValidator()); } @RequestMapping(value="/saveUserDetails", method=RequestMethod.POST) public String saveUserDetails(@ModelAttribute User user) { ... } @RequestMapping(value="/resetPassword", method=RequestMethod.POST) public String resetPassword(@Valid @ModelAttribute User user, BindingResult result) { ... }
@InitBinder public void initBinder(WebDataBinder binder, HttpServletRequest request) { binder.addValidators(new ReCaptchaValidator(request)); }
@Controller public class FormController { @Autowired final private FormValidator formValidator; @InitBinder("form") protected void initBinder(WebDataBinder binder) { // correct binder.addValidators(formValidator); // wrong //binder.setValidator(formValidator); } ... @RequestMapping(value = "/formsubmit", method = RequestMethod.POST) public ModelAndView handleForm(@Validated final Form form, final BindingResult bindingResult) { if (bindingResult.hasErrors()) { ... // returns the model } ... } }
@InitBinder protected void initBinder(WebDataBinder binder){ binder.addValidators(orderValidator); }
@InitBinder protected void initBinder(WebDataBinder binder){ binder.addValidators(groupValidator); }
@InitBinder protected void initBinder(WebDataBinder binder){ binder.addValidators(orderValidator); }
@InitBinder protected void initBinder(WebDataBinder binder){ binder.addValidators(productValidator); }
@InitBinder private void initBinder(WebDataBinder binder) { binder.addValidators(new CollectionValidator()); }
@InitBinder("bannerOptions") protected void initBinder(WebDataBinder binder) { binder.addValidators(new UploadValidator()); }
@InitBinder public void initListBinder(WebDataBinder binder) { if (MODEL_MAILMESSAGE.equals(binder.getObjectName())) { Validator validator = new Validator() { @Override public void validate(Object target, Errors errors) { MailMessageData messageData = (MailMessageData) target; final long count = messageData.getReceiversList().stream().filter(r -> r.isActive()).count(); if (MAX_MAIL_RECEIVERS < count) { errors.rejectValue("receivers", MessageConstants.MESSAGE_USER_EMAIL_TOO_MANY_RECEIVERS, new Object[] { MAX_MAIL_RECEIVERS }, null); } } @Override public boolean supports(Class<?> clazz) { return MailMessageData.class.isAssignableFrom(clazz); } }; binder.addValidators(validator); } }
@InitBinder private void dateBinder(WebDataBinder binder) { if (binder.getTarget() instanceof IdentityProvider) { binder.addValidators(new IdentityProviderValidator()); } else { binder.registerCustomEditor(Date.class, new JodaDateEditor(true)); } if (binder.getTarget() instanceof IdentityProviderQuery) { binder.addValidators(new IdentityProviderQueryValidator()); } }
@InitBinder private void dateBinder(WebDataBinder binder) { binder.registerCustomEditor(Date.class, new JodaDateEditor(true, "yyyy-MM-dd HH:mm:ss")); binder.addValidators(new NewsValidator()); }
@InitBinder private void dateBinder(WebDataBinder binder) { if(binder.getTarget() instanceof Organisation){ binder.registerCustomEditor(Date.class, new JodaDateEditor(true, "yyyy-MM-dd HH:mm:ss")); binder.addValidators(new OrganisationValidator()); } else { binder.registerCustomEditor(Date.class, new JodaDateEditor(true)); } if(binder.getTarget() instanceof OrganisationFilter){ binder.addValidators(new OrganisationFilterValidator()); } }
@InitBinder public void initBinder(WebDataBinder binder) { if(binder.getTarget() instanceof PublicationDownloadQuery){ binder.addValidators(new DateRangeValidator(PublicationDownloadQuery.class, "dateFrom", "dateTo")); } binder.registerCustomEditor(Date.class, new JodaDateEditor(true)); }