定位到校验未通过的校验器之后,我们需要知道详情。校验错误信息保存在属性文件里面。我们增加属性文件email.properties.内容如下:
email.error=非法的email
用Native2ascii转换以下。规则配置修改如下:
|
<validator name="emailValidator" classname="com.wide.test.EmailValidator" method="validateEmail" methodParams="java.lang.Object,org.apache.commons.validator.Field" msg="email.error"/> |
测试代码:
|
//创建ValidatorResources实例,这里取得验证规则信息。可以同时加载多个规则文件。 ValidatorResources resources = new ValidatorResources( EmailValidatorTest.class.getResourceAsStream("email-rules.xml"));
//创建要校验的bean ValueBean bean = new ValueBean(); bean.setEmail("hhh@163.com");
//创建校验器 Validator validator = new Validator(resources,"valueBean");
//设定要校验的bean validator.setParameter(Validator.BEAN_PARAM,bean);
//校验 ValidatorResults results = validator.validate();
//解释校验结果,取得对email属性校验的结果 ValidatorResult result = results.getValidatorResult("email");
//加载属性文件 ResourceBundle bundle = ResourceBundle.getBundle("com.wide.test.user.message"); //如果校验未通过就显示错误信息 if(!result.getResult("emailValidator")){ ValidatorAction action = resources.getValidatorAction("emailValidator"); System.out.println(bundle.getString(action.getMsg())); } |
本文介绍了一种基于属性文件的邮箱验证器配置方法,并演示了如何使用Java代码进行测试。详细展示了规则文件的配置、属性文件的内容以及验证流程。
904

被折叠的 条评论
为什么被折叠?



