2011-11-18 76 views
1

我需要编写自定义验证器,它将简单地检查格式不正确的数据的字符串数组。这个数组当然来自form作为一个属性,实际上它的值来自请求通过html:multibox标签(这些是字符串形式的简单元素ID)。所以我想验证这些数据。Struts 1自定义验证器

问题是官方指南对处理非字符串属性没有什么可说的。我不知道如何检索这个数组。

这里是支柱valiator指南中的例子:

public static boolean validateTwoFields(
Object bean, 
ValidatorAction va, 
Field field, 
ActionErrors errors, 
HttpServletRequest request, 
ServletContext application) { 

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(
       application, 
       request, 
       va, 
       field)); 

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

return true; 

}

正如你可以看到这个完美的解释了如何处理有关其他类型的字符串值,但什么?

回答