1

モデルから要素コレクションを構築するためにアノテーションを使用しています。Zend\Validator\Db\NoRecordExists作業が必要なフィールドはほとんど使用されていませんZend\Db\Adapter\Adapter。私はこのように注入しています:

public function getValidatorConfig()
{
    return array(
        'initializers' => array(
            'Validator\Db' => function($inst​ance, $sm) {
                if ($instanc​​​e instanceof NoRecordExists) {
                    $instance->setAdapter($sm->getServiceLocator()->get('dbAdapter'));
                }
            }
        )
    );
}

これは、トップレベルの構成 (正確には/config/module.config.php) を使用して実行できますか? validator_managernorキーを追加してもvalida​​​tor_plugin_managerうまくいかないようです。

​​​Form Factoryまた、内部Annotation Builderがデフォルト サービスを使用していない理由もわかりませんValidator Manager。手動で設定する必要があります。これは、常に新しいサービスをインスタンス化するためです (ただし、Validator Managerには常に存在しますService Ma​​​nager)。

$factory = new Annot​​​ationBuilder();
$factory->getFormFactory()->getInputFilterFactory()->getDefaultValidatorChain()->setPluginManager($this->getServiceLocator(​​​)->get('Validator​​​Manager'));

可能であれば、構成内でこれを実行したいと思います。

4

0 に答える 0