0

私は Symfony3 (SonataAdminBundle と一緒に) を使用しており、いくつかの検証ファイルを作成する必要があります。複数のエンティティがあり、検証 yml ファイルをエンティティごとに 1 つに分割したいので、依存性注入ローダーを使用してそれらのファイルをロードしたいと思います。今、私が持っている質問は次のとおりです。

  1. 検証ファイル用のカスタム ローダーを作成する場合、services.yml と routing.yml も手動で読み込む必要がありますか?

  2. 私のコードに、次のエラーを引き起こす明らかな問題はありますか?

YamlFileLoader.php 行 404 の InvalidArgumentException: 「UserAdminBundle\Entity\User」の構成をロードできる拡張機能がありません (*****src/UserAdminBundle/DependencyInjection/../Resources/config/validation/validation.yml 内) )。名前空間「UserAdminBundle\Entity\User」を探しましたが、見つかりませんでした

私のファイル:

UserAdminBundle\Entity\User:
    constraints:
        - Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity:
            fields: [email]
            message: 'This user already exists'
UserAdminBundle\Entity\TaxToReseller:
    constraints:
        - Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity:
            fields: [resellerId, taxId]
            message: 'Reseller already has this tax'
UserAdminBundle\Entity\Tax:
    constraints:
        - Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity:
            fields: [ name, value ]
            message: 'This tax already exists'

私のロード方法:

public function load(array $configs, ContainerBuilder $container)
{

    $loader = new YamlFileLoader(
        $container,
        new FileLocator(__DIR__.'/../Resources/config')
    );

    //$loader->load('validation/validation.yml');
    $loader->load('validation/agent_validation.yml');
    $loader->load('validation/call_centre_validation.yml');
    $loader->load('validation/reseller_header_validation.yml');
    $loader->load('validation/reseller_validation.yml');
    $loader->load('validation/tax_validation.yml');

}

なぜ物が見つからないのかについて、いくつかのアイデアを使用できます。

前もって感謝します!

4

1 に答える 1

0

の検証ファイルはResources/config/validationデフォルトでロードされます。load メソッドを編集する必要はありません。

于 2016-12-15T08:14:59.353 に答える