论坛首页 Java企业应用论坛

在struts validator自定义验证器遇到的问题?

浏览 3283 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2006-09-26  
编写FeildVlidators类,该类继承了FieldChecks类,并在其中编写如下方法:
public static boolean validateFormatedPhone(Object bean,
ValidatorAction va, Field field, ActionMessages errors,
Validator validator, HttpServletRequest request) {
String value = null;
if (isString(bean)) {
value = (String) bean;
} else {
value = ValidatorUtils.getValueAsString(bean, field.getProperty());
}
if (!GenericValidator.isBlankOrNull(value)) {
if(!value.equals("yes")) {
return false;
}
}
return true;
}

并在validator-rules.xml中添加配置如下内容:
<validator name="phone"
classname="com.crejavasky.common.struts.FeildVlidators"
method="validateFormatedPhone"
methodParams="java.lang.Object,
                       org.apache.commons.validator.ValidatorAction,
                       org.apache.commons.validator.Field,
                       org.apache.struts.action.ActionMessages,
                       org.apache.commons.validator.Validator,
                       javax.servlet.http.HttpServletRequest"
msg="errors.required" />

(上面的验证有点简单并且不符合实际,这里只为测试用)然后设置相应测试环境,可是当上面的validateFormatedPhone方法返回false时,系统仍然可以通过验证。(按理论是不应该通过验证的)那位兄台能够。
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics