今天再做一个注册功能时,提交表单到后台验证,validate方法被执行两次(第二次model为空,就报错了)不知道怎么回事,请各位指教??
/** * 执行注册 */ public String doRegist() { return "userLoginPage"; } /** * 注册校验:在执行注册方法的时候才执行 */ public void validateDoRegist() { // 1、判断此用户是否已经注册,即邮箱是否存在 try { boolean flag = userService.hasUser(model); // 存在 if (flag) { addFieldError("email", "此用户已经存在"); return; } // 不存在 else { // 2、校验邮箱? String email = "^([a-z0-9A-Z]+[-|_|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$"; if (!Pattern.matches(email, model.getEmail()) || !ValidataUtil.isValid(model.getEmail())) addFieldError("email", "邮箱格式错误"); // 3、校验昵称? if (model.getNickName().length() > 10 || !ValidataUtil.isValid(model.getNickName())) addFieldError("nickName", "不能超过10个字"); // 4、校验密码? String pass = "[a-zA-Z0-9]{6,12}"; if (!Pattern.matches(pass, model.getPassword()) || !ValidataUtil.isValid(model.getPassword())) addFieldError("password", "密码格式错误"); if (hasErrors()) return; // 5、判断密码一致性 if (!model.getPassword().equals(confirmPassword)) { addFieldError("password2", "密码不一致"); } } } catch (Exception e) { e.printStackTrace(); } }
谁知道啊,指点一二
页面代码发来<divclass='ref'>
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。