title: Try to run validator for password
body: <p>I have validator:
  com.name.spring.model</p>
  
  <pre><code>    package com.websystique.springmvc.model;
  
  import org.springframework.beans.factory.annotation.Autowired;
  import org.springframework.validation.Errors;
  import org.springframework.validation.ValidationUtils;
  import org.springframework.validation.Validator;
  
  import com.websystique.springmvc.service.UserService;
  
  public class PasswordValidator implements Validator {
  
      @Autowired
      UserService service;
  
      @Override
      public boolean supports(Class&lt;?&gt; clazz) {
          return User.class.equals(clazz);
      }
  
      @Override
      public void validate(Object target, Errors errors) {
          User user = (User) target;
  
          ValidationUtils.rejectIfEmptyOrWhitespace(errors, "password", "required.password");
          ValidationUtils.rejectIfEmptyOrWhitespace(errors, "retypePassword", "required.retypePassword");
  
  
          if (!user.getPassword().equals(user.getRetypePassword())) {
              errors.rejectValue("retypePassword", "nomatch.password");
          }
  
      }
  
  }
  </code></pre>
  
  <p>And this is how I activate validator:
  com.name.spring.controller</p>
  
  <pre><code>    @InitBinder
  protected void initBinder(WebDataBinder binder) {
      binder.setValidator(PasswordValidator);
  }
  
  @RequestMapping(value = { "/register" }, method = RequestMethod.GET)
  public String newUser(ModelMap model) {
      User user = new User();
      model.addAttribute("user", user);
      return "register";
  }
  
  @RequestMapping(value = { "/register" }, method = RequestMethod.POST)
  public String saveUser(@Validated User user, BindingResult result, ModelMap model) {
      if (result.hasErrors()) {
          return "register";
      }
      if (!service.isUserEmailUnique(user.getId(), user.getEmail())) {
          FieldError emailError = new FieldError("user", "email", messageSource.getMessage("non.unique.email",
                  new String[] { user.getEmail() }, Locale.getDefault()));
          result.addError(emailError);
          return "register";
      }
      service.saveUser(user);
      model.addAttribute("success", " User " + user.getFirstName() + " register success");
      return "success";
  }
  </code></pre>
  
  <p>But I have this: ERROR  OR ( or when its work I wrote password:apple123 and conf password: legolego) there is no validator, just add new user for data base :((( with incorrect password. (confirm password is @Transient</p>
  
  <pre><code>    HTTP Status 500 - Request processing failed; nested exception is javax.validation.ConstraintViolationException: Validation failed for classes [com.websystique.springmvc.model.User] during persist time for groups [javax.validation.groups.Default, ]
  
  type Exception report
  
  message Request processing failed; nested exception is javax.validation.ConstraintViolationException: Validation failed for classes [com.websystique.springmvc.model.User] during persist time for groups [javax.validation.groups.Default, ]
  
  description The server encountered an internal error that prevented it from fulfilling this request.
  
  exception
  
  org.springframework.web.util.NestedServletException: Request processing failed; nested exception is javax.validation.ConstraintViolationException: Validation failed for classes [com.websystique.springmvc.model.User] during persist time for groups [javax.validation.groups.Default, ]
  List of constraint violations:[
      ConstraintViolationImpl{interpolatedMessage='size must be between 10 and 30', propertyPath=email, rootBeanClass=class com.websystique.springmvc.model.User, messageTemplate='{javax.validation.constraints.Size.message}'}
  ]
      org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:973)
      org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:863)
      javax.servlet.http.HttpServlet.service(HttpServlet.java:648)
      org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837)
      javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
      org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
  
  root cause
  
  javax.validation.ConstraintViolationException: Validation failed for classes [com.websystique.springmvc.model.User] during persist time for groups [javax.validation.groups.Default, ]
  List of constraint violations:[
      ConstraintViolationImpl{interpolatedMessage='size must be between 10 and 30', propertyPath=email, rootBeanClass=class com.websystique.springmvc.model.User, messageTemplate='{javax.validation.constraints.Size.message}'}
  ]
  </code></pre>
  
  <p>Question 2)
  How to encrypt password, for mysql ? </p>