【问题标题】:How can I customize the Validator for Hibernate Validator's method validation with Seam?如何使用 Seam 为 Hibernate Validator 的方法验证自定义 Validator?
【发布时间】:2013-02-05 17:19:28
【问题描述】:

我正在使用 Hibernate Validator 并添加了一些自定义验证注释、资源包位置和自定义消息插值器。这一切都是通过在引导时自定义验证器来完成的。

现在我正在尝试验证方法,但当然我没有得到配置良好的验证器,因为标准验证器是为@AutoValidating 注入的。

如何在 Seam Validation 中自定义 Validator?


这是我创建验证器的方法:

public static javax.validation.Validator getBeanValidator(final Locale locale,
    final ResourceBundle... resourceBundles) {
  HibernateValidatorConfiguration configuration = Validation.byProvider(HibernateValidator.class).configure();
  FallbackResourceBundleLocator resourceBundleLocator = new FallbackResourceBundleLocator(
      configuration.getDefaultResourceBundleLocator(), resourceBundles);
  configuration.messageInterpolator(new FieldMessageInterpolator(locale, resourceBundleLocator));
  javax.validation.ValidatorFactory validatorFactory = configuration.buildValidatorFactory();
  return validatorFactory.getValidator();
}

【问题讨论】:

    标签: seam hibernate-validator


    【解决方案1】:

    您可以尝试使用META-INF/validation.xml 配置默认验证器,这是Seam Validation 使用的验证器。

    或者,您可以根据 Seam Validation 中的 the one 创建自己的拦截器,并在那里使用您自定义配置的 Validator

    【讨论】:

    • 感谢您的提示。我认为第一个是最好的,但我没有看到我需要的所有选项,因为我有自己的资源包定位器,见上文。
    • 好的,我明白了。在这种情况下,我认为您必须编写自己的拦截器。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-04
    • 2012-07-08
    • 2014-02-08
    • 1970-01-01
    • 2014-04-06
    • 1970-01-01
    相关资源
    最近更新 更多