【发布时间】:2012-01-01 00:13:43
【问题描述】:
我需要编写自定义验证器,它只会检查字符串数组中是否存在格式错误的数据。这个数组当然来自作为属性的表单,实际上它的值来自通过 html:multibox 标签的请求(这些是字符串形式中元素的简单 ID)。所以我想验证这些数据。
问题是官方指南对处理非字符串属性没有什么可说的。我不知道如何检索这个数组。
这是来自 struts valiaator 指南的示例:
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;
}
正如您所见,这完美地解释了如何处理字符串值,但其他类型呢?
【问题讨论】:
标签: validation struts