1. 定义自己的验证方法类:
java 代码
java 代码
- public static boolean validateTwoFields(Object bean, ValidatorAction va,
- Field field, ActionMessages errors,
- HttpServletRequest request) {
- String value =
- ValidatorUtils.getValueAsString(bean, field.getProperty());//得到用户输入的该filed的值
- String sProperty2 = field.getVarValue("secondProperty"); //得到定义在field的变量(validation.xml中),此处指定的是另一个field name
- String value2 = ValidatorUtils.getValueAsString(bean, sProperty2);
- if (!GenericValidator.isBlankOrNull(value)) {
- try {
- if (!value.equals(value2)) {
- errors.add(field.getKey(),
- Resources.getActionMessage(request, va, field));
- return false;
- }
- } catch (Exception e) {
- errors.add(field.getKey(),
- Resources.getActionMessage(request, va, field));
- return false;
- }
- }
- return true;
- }
- }
2 .到validator-rule-custom.xml加入你定制的rule.
xml 代码
- <field property="password"
- depends="required,twofields">
- <msg
- name="twofields"
- key="errors.twofields"/>
- <arg0 key="userForm.password"/>
- <arg1
- key="userForm.confirmPassword"
- />
- <var>
- <var-name>secondPropertyvar-name>
- <var-value>confirmPasswordvar-value>
- var>
- field>
- <field property="confirmPassword"
- depends="required">
- <arg0 key="userForm.confirmPassword"/>
- field>