Advertisement
Guest User

Untitled

a guest
Nov 1st, 2014
167
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.37 KB | None | 0 0
  1. package com.softserve.validator;
  2.  
  3. import org.springframework.beans.factory.annotation.Autowired;
  4. import org.springframework.stereotype.Component;
  5. import org.springframework.validation.Errors;
  6. import org.springframework.validation.ValidationUtils;
  7. import org.springframework.validation.Validator;
  8.  
  9. import com.softserve.form.Registration;
  10. import com.softserve.service.UserService;
  11.  
  12. @Component
  13. public class RegistrationValidation implements Validator {
  14.  
  15.     private static final String NAME_PATTERN = "[A-ZА-ЯЇ]{1}[A-ZА-߲ЯЇa-zа-яїє]{1,30}";
  16.     private static final String EMAIL_PATTERN = "[A-Za-z0-9_\\.-]{1,30}@[A-Za-z0-9_\\.-]{1,30}";
  17.     private static final String PASSWORD_PATTERN = "^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[//@/./&/!#/$%/^/*/?])(?!.*\\s).{4,20}$";
  18.  
  19.     @Autowired
  20.     private UserService userService;
  21.  
  22.     @Override
  23.     public boolean supports(Class<?> clazz) {
  24.         return Registration.class.isAssignableFrom(clazz);
  25.     }
  26.  
  27.     @Override
  28.     public void validate(Object target, Errors errors) {
  29.         ValidationUtils.rejectIfEmptyOrWhitespace(errors, "password",
  30.                 "dataerror.field_required");
  31.         ValidationUtils.rejectIfEmptyOrWhitespace(errors, "confirmPassword",
  32.                 "dataerror.field_required");
  33.         ValidationUtils.rejectIfEmptyOrWhitespace(errors, "firstName",
  34.                 "dataerror.field_required");
  35.         ValidationUtils.rejectIfEmptyOrWhitespace(errors, "lastName",
  36.                 "dataerror.field_required");
  37.         Registration registration = (Registration) target;
  38.  
  39.         if (!registration.getFirstName().matches(NAME_PATTERN)) {
  40.             errors.rejectValue("firstName", "dataerror.firstname");
  41.         }
  42.         if (!registration.getLastName().matches(NAME_PATTERN)) {
  43.             errors.rejectValue("lastName", "dataerror.lastname");
  44.         }
  45.  
  46.         if (userService.isExist(registration.getEmail())) {
  47.             errors.rejectValue("email", "dataerror.email_exist");
  48.         }
  49.  
  50.         if (!(registration.getPassword().equals(registration
  51.                 .getConfirmPassword()))) {
  52.             errors.rejectValue("confirmPassword",
  53.                     "dataerror.passwords_do_not_match");
  54.         }
  55.  
  56.         if (!registration.getEmail().matches(EMAIL_PATTERN)) {
  57.             errors.rejectValue("email", "dataerror.email_example");
  58.         }
  59.        
  60.         if (!registration.getPassword().matches(PASSWORD_PATTERN)) {
  61.             errors.rejectValue("password", "dataerror.password_pattern");
  62.         }
  63.        
  64.         if (registration.getPassword().length() < 4) {
  65.             errors.rejectValue("password", "dataerror.minimum_4_characters");
  66.         }
  67.     }
  68.  
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement