今天再做一个注册功能时,提交表单到后台验证,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'>