gfreeau/custom-validation-path-bundle

此Symfony2包提供了一种添加自定义验证目录的方法

dev-master 2016-10-04 12:43 UTC

This package is auto-updated.

Last update: 2024-09-09 05:04:01 UTC


README

此symfony2包仍在开发中,它允许您定义存储验证文件的自定义目录。

如果您将实体和模型存储在包外部,这将非常有用。Doctrine和JMSSerializer已经允许这样做,但symfony默认只从包内部加载xml和yml验证配置。

以下是一个示例项目结构,其中我们的非框架代码不存在于包中

src
    Vendor
        Bundle
            AcmeBlogBundle
        Service
        Entity
        Resources
            config
                doctrine
                serializer
                validation

以下是一个示例配置

gfreeau_custom_validation_path:
    directories:
        -
            path: %kernel.root_dir%/../src/Vendor/Resources/config/validation
            type: xml
            recursive: true
        -
            path: %kernel.root_dir%/../src/Vendor/Resources/config/validation
            type: yml
            recursive: false

运行以下命令后,您将知道您的验证文件是否已被包含

./app/console container:debug --format=json --parameters

查找密钥validator.mapping.loader.xml_files_loader.mapping_filesvalidator.mapping.loader.yml_files_loader.mapping_files

以下是与自定义验证目录一起使用的orm和serializer的示例配置

doctrine:
    orm:
        auto_mapping: true
        mappings:
            mymodel:
                type: xml
                dir: %kernel.root_dir%/../src/Vendor/Resources/config/doctrine
                prefix: Vendor\Entity
                alias: VendorEntity
                is_bundle: false

jms_serializer:
    metadata:
        directories:
            myvendor:
                namespace_prefix: "Vendor\\"
                path: %kernel.root_dir%/../src/Vendor/Resources/config/serializer