struts2中action方法被调用两次

发布于 2021-11-29 00:53:32 字数 1356 浏览 660 评论 3

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



如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

凡尘雨 2021-12-01 15:24:48

引用来自“求一个网名”的评论

谁知道啊,指点一二

爱的那么颓废 2021-11-30 14:20:59

页面代码发来

顾忌 2021-11-30 12:08:49

谁知道啊,指点一二

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文