customvalidator.java

来自「这是《Struts网络编程实例》一书zhogn 的源代码部分」· Java 代码 · 共 45 行

JAVA
45
字号
package org.ithinking.utils;

import java.io.Serializable;

import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;

import org.apache.commons.validator.Field;
import org.apache.commons.validator.GenericValidator;
import org.apache.commons.validator.ValidatorAction;
import org.apache.commons.validator.util.ValidatorUtils;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.validator.Resources;
//自定义校验规则工具类
public class CustomValidator implements Serializable {
	//比较两个字段是否相等
	public static boolean validateTwoFields(Object bean, ValidatorAction va,
			Field field, ActionErrors errors, HttpServletRequest request
			) {

		String value = ValidatorUtils.getValueAsString(bean, field
				.getProperty());
		String sProperty2 = field.getVarValue("secondProperty");
		String value2 = ValidatorUtils.getValueAsString(bean, sProperty2);

		if (!GenericValidator.isBlankOrNull(value)) {
			try {
				if (!value.equals(value2)) {
					errors.add(field.getKey(), Resources.getActionError(
							request, va, field));

					return false;
				}
			} catch (Exception e) {
				errors.add(field.getKey(), Resources.getActionError(request,
						va, field));
				return false;
			}
		}

		return true;
	}

}

⌨️ 快捷键说明

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