如何将对象属性作为参数传递给Struts自定义验证器

纳文

这是自定义验证器,具有countryCode的获取器/设置器

public void validate(Object object) throws ValidationException {
String fieldName = getFieldName();

Object zipObj = this.getFieldValue(fieldName, object);
String country = getCountryCode();
String zipCode = (String) zipObj;

if (zipCode == null || ("".equals(zipCode))) {
  return;
}

boolean valid = false;
try {
  if ((Country.DEFAULT).equalsIgnoreCase(country)) {
    valid = Pattern.matches(US_ZIP_FORMAT, zipCode);
    int testZip = Integer.parseInt(zipCode.substring(0, 5));
    if (testZip == 0) {
      valid = false;
    }
  } else if ((Country.CANADA).equalsIgnoreCase(country)) {
    valid = Pattern.matches(CANADA_ZIP_FORMAT, zipCode);
  } else {
    valid = Pattern.matches(OTHER_ZIP_FORMAT, zipCode);
  }
} catch (Exception e) {
  logger.error("Cannot validate zip code (" + zipCode + ") for country ("
      + country + ").");
  valid = false;
}

if (!valid) {
  addFieldError(fieldName, object);
}
}

如何将国家/地区代码传递回自定义验证器。这是我的ActionClass-validation.xml

<validators>
<field name="address.zip">
    <field-validator type="zipValidator">
        <param name="countryCode">${address.country}</param>
        <message key="errors.zip.invalid" />
    </field-validator>
</field>
</validators>

地址对象具有zip和countryCode。我想根据国家/地区验证邮政编码。当我调试上述代码时,countryCode的值为${address.country}

我如何获得国家财产的价值?

罗马C

您需要从扩展自定义验证器ValidatorSupport然后,在实现代码中parse,如果它是OGNL表达式,则可以使用method来获取parameter的值。

String country = (String) parse(this.countryCode, String.class);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将对象作为可绑定属性传递给Xamarin.Forms自定义控件

来自分类Dev

如何将对象的属性作为参数传递给函数

来自分类Dev

如何将动态属性传递给自定义验证器

来自分类Dev

如何将实体对象从自定义验证注释传递给控制器

来自分类Dev

在WTForms中将对象传递给自定义验证器

来自分类Dev

如何将对象作为参数传递给函数

来自分类Dev

如何将对象属性作为函数参数传递?

来自分类Dev

车把:如何将@index作为参数传递给自定义助手

来自分类Dev

如何将自定义类型作为参数传递给已编译的cmdlet?

来自分类Dev

如何将函数作为参数传递给Javascript中的自定义函数

来自分类Dev

如何将数据绑定变量作为xml属性传递给自定义视图

来自分类Dev

如何将参数传递给自定义操作?

来自分类Dev

如何将自定义对象从自定义身份验证提供程序传递到控制器?

来自分类Dev

通过属性将对象传递给自定义组件

来自分类Dev

如何将Windows工作流的参数中参数传递给自定义代码活动属性?

来自分类Dev

如何将对象名称值对作为参数传递给方法?

来自分类Dev

如何将对象作为默认参数传递给ecmascript中的函数?

来自分类Dev

如何将对象作为参数传递给剑道网格读取方法

来自分类Dev

如何将对象的属性作为prop传递给vue.js组件

来自分类Dev

如何将对象列表作为函数中的参数传递,然后使用对象的属性C#

来自分类Dev

如何将参数传递给自定义事件侦听器并防止reactjs中的默认设置?

来自分类Dev

将参数传递给Angular 7模板驱动的表单自定义验证器

来自分类Dev

如何将对象从fetchedResultsController传递到自定义单元格?

来自分类Dev

如何将对象的属性名称传递给drawImage?

来自分类Dev

如何仅将对象参数的某些属性传递给Fody / MethodTimer拦截器

来自分类Dev

如何将对象作为BlackBerry SOAP请求参数传递

来自分类Dev

如何将对象/类作为函数的参数传递

来自分类Dev

如何将对象作为BlackBerry SOAP请求参数传递

来自分类Dev

如何将对象/类作为函数的参数传递

Related 相关文章

  1. 1

    如何将对象作为可绑定属性传递给Xamarin.Forms自定义控件

  2. 2

    如何将对象的属性作为参数传递给函数

  3. 3

    如何将动态属性传递给自定义验证器

  4. 4

    如何将实体对象从自定义验证注释传递给控制器

  5. 5

    在WTForms中将对象传递给自定义验证器

  6. 6

    如何将对象作为参数传递给函数

  7. 7

    如何将对象属性作为函数参数传递?

  8. 8

    车把:如何将@index作为参数传递给自定义助手

  9. 9

    如何将自定义类型作为参数传递给已编译的cmdlet?

  10. 10

    如何将函数作为参数传递给Javascript中的自定义函数

  11. 11

    如何将数据绑定变量作为xml属性传递给自定义视图

  12. 12

    如何将参数传递给自定义操作?

  13. 13

    如何将自定义对象从自定义身份验证提供程序传递到控制器?

  14. 14

    通过属性将对象传递给自定义组件

  15. 15

    如何将Windows工作流的参数中参数传递给自定义代码活动属性?

  16. 16

    如何将对象名称值对作为参数传递给方法?

  17. 17

    如何将对象作为默认参数传递给ecmascript中的函数?

  18. 18

    如何将对象作为参数传递给剑道网格读取方法

  19. 19

    如何将对象的属性作为prop传递给vue.js组件

  20. 20

    如何将对象列表作为函数中的参数传递,然后使用对象的属性C#

  21. 21

    如何将参数传递给自定义事件侦听器并防止reactjs中的默认设置?

  22. 22

    将参数传递给Angular 7模板驱动的表单自定义验证器

  23. 23

    如何将对象从fetchedResultsController传递到自定义单元格?

  24. 24

    如何将对象的属性名称传递给drawImage?

  25. 25

    如何仅将对象参数的某些属性传递给Fody / MethodTimer拦截器

  26. 26

    如何将对象作为BlackBerry SOAP请求参数传递

  27. 27

    如何将对象/类作为函数的参数传递

  28. 28

    如何将对象作为BlackBerry SOAP请求参数传递

  29. 29

    如何将对象/类作为函数的参数传递

热门标签

归档