13.3. Jakarta Bean 验证配置

您可以在位于 /META-INF 目录的 validation.xml 文件中使用 XML 描述符配置 Jakarta Bean 验证。如果在类路径中存在此文件,则在创建 ValidatorFactory 时应用其配置。

示例:Jakarta Bean 验证配置文件

下例显示了 validation.xml 文件的几个配置选项。所有设置都是可选的。这些选项也可以使用 javax.validation 软件包进行配置。

<validation-config xmlns="http://jboss.org/xml/ns/javax/validation/configuration"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://jboss.org/xml/ns/javax/validation/configuration">

    <default-provider>
        org.hibernate.validator.HibernateValidator
    </default-provider>
    <message-interpolator>
        org.hibernate.validator.messageinterpolation.ResourceBundleMessageInterpolator
    </message-interpolator>
    <constraint-validator-factory>
        org.hibernate.validator.engine.ConstraintValidatorFactoryImpl
    </constraint-validator-factory>

    <constraint-mapping>
        /constraints-example.xml
    </constraint-mapping>

    <property name="prop1">value1</property>
    <property name="prop2">value2</property>
</validation-config>

节点 default-provider 可用于选择 Jakarta Bean Validation 提供程序。如果类路径上有多个提供程序,这很有用。message-interpolatorconstraint-validator-factory 属性用于自定义接口 MessageInterpolator 和 ConstraintValidator Factory 所使用的实现,它们在 javax.validation 软件包中定义。constraint-mapping 元素列出了包含实际约束配置的其他 XML 文件。