Esempio n. 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, "邮箱地址已被使用");
          }
        }
      }
    }
  }