Пример #1
1
  private void validateEmail(SysUser user, Errors errors) {

    // 修改且已邮件未变更,则不进行验证
    if (user.getId() != null) {
      SysUser di = userDao.findOne(user.getId());
      if (di != null && StringUtils.equals(di.getEmail(), user.getEmail())) {
        return;
      }
    }

    ValidationUtils.rejectIfEmptyOrWhitespace(errors, "email", null, "请输入邮箱地址");
    if (!errors.hasFieldErrors("email")) {
      Matcher matcher = emailPattern.matcher(user.getEmail());
      if (!matcher.matches()) {
        errors.rejectValue("email", null, "邮箱格式不正确");
      } else if (user.getEmail().length() > 50) {
        errors.rejectValue("email", null, "邮箱地址长度必须小于等于50位");
      } else {
        if (user.getId() != null) {
          SysUser obj = userDao.findByIdNotAndEmail(user.getId(), user.getEmail());
          if (obj != null) {
            errors.rejectValue("email", null, "邮箱地址已被使用");
          }
        } else {
          SysUser obj = userDao.findByEmail(user.getEmail());
          if (obj != null) {
            errors.rejectValue("email", null, "邮箱地址已被使用");
          }
        }
      }
    }
  }
Пример #2
0
  private void validatePass(SysUser user, Errors errors) {
    ValidationUtils.rejectIfEmptyOrWhitespace(errors, "userPwd", null, "请设置登录平台的密码");
    // 修改user时密码可以不输入,所以修改时不需要对密码输入框进行长度校验
    if (!errors.hasFieldErrors("userPwd") && user.getId() == null) {
      if (user.getUserPwd().length() < 6 || user.getUserPwd().length() > 25) {
        errors.rejectValue("userPwd", null, "密码长度必须大于等于6位小于等于25位");
      }
    }
    // TODO 包含特殊字符及字母开头的验证

    if (!StringUtils.equals(user.getUserPwd(), user.getConfirmPass())) {
      errors.rejectValue("confirmPass", null, "确认密码不一致");
    }
  }
Пример #3
0
 private void validateUserCode(SysUser user, Errors errors) {
   ValidationUtils.rejectIfEmptyOrWhitespace(errors, "userCode", null, "请填写帐号");
   if (!errors.hasFieldErrors("userCode")) {
     String userCode = user.getUserCode();
     SysUser obj = userDao.findByUserCode(userCode);
     if (obj != null) {
       errors.rejectValue("userCode", null, "帐号已存在");
     }
   }
 }
Пример #4
0
  @Override
  public void validate(Object target, Errors errors) {
    SysUser user = (SysUser) target;

    // 是否是创建帐号的验证
    boolean isCreate = (user.getId() == null);

    if (isCreate) {
      validateUserCode(user, errors);
    }
    validatePass(user, errors);
    validateEmail(user, errors);

    ValidationUtils.rejectIfEmptyOrWhitespace(errors, "userName", null, "请填写真实姓名");
    if (!errors.hasFieldErrors("userName")) {
      if (user.getUserName().length() > 10) {
        errors.rejectValue("userName", null, "真实姓名长度必须小于等于10位");
      }
    }

    // TODO 其他必要验证

  }