⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 registervalidator.java

📁 网站购物车经典是例子
💻 JAVA
字号:
package onlyfun.caterpillar.web;

import org.springframework.validation.Errors;
import org.springframework.validation.Validator;


//Validator接口的实现对象可以帮助基本的服务器端数据验证工作,可以设计一个通用的Validator,
//将之作为Bean注入给需要进行表单验证的其他Bean对象,Validator有两个必须实现的方法...
public class RegisterValidator implements Validator {
	
	//supports()方法回传一个boolean值,表示是否支持对所传入的对象进行验证,只有在传回true情况下,
	//才会使用validate()方法进行验证工作...
	public boolean supports(Class clazz) {
		return clazz.equals(RegisterForm.class);
	}
	
	
	//在validate()方法的参数中,Object表示传入的表单对象,可以对它进行一些验证工作,如果有错误的话,
	//可以使用Errors的reject()或rejectValue()等方法加入错误消息,在后续的处理中,
	//若errors对象中包括错误消息,会回到getViewPage()所设置的页面/也就是register.jsp页面...
	//之后也会处理为绑定消息(其实也就是我们设置的错误消息),并在标签上输出
	public void validate(Object obj, Errors errors) {
		RegisterForm form = (RegisterForm) obj;

		if (!validateEmail(form.getEmail())) {
			
			//reuectValue()方法中,参数1:为表单物件属性,参数2:指定资源档案中的键(key),
			//参数3:指定资源档案中的参数,参数4:预设讯息则是使用于找不到资源档案时,所要呈现的预设讯息...
			errors.rejectValue("email", "invalid_email", null, "邮件格式不正确");
		}

		if (form.getPasswd().length() < 6 || form.getPasswd().length() > 16) {
			errors.rejectValue("passwd", "less-or-over", null, "密码长度必须是6到16位的字符");
		}

		if (!form.getPasswd().equals(form.getPasswd2())) {
			errors.rejectValue("passwd", "not-equal", null, "两次输入的密码不符");
		}
	}

	private boolean validateEmail(String email) {
		return email.matches("^[_a-z0-9-]+([.]"+ "[_a-z0-9-]+)*@[a-z0-9-]+([.][a-z0-9-]+)*$");
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -