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