1

カスタム Zend Validator の場所を "Zend/Validate" に保存する必要がありますか? すべてのカスタム検証スクリプト用のフォルダーを作成したいのですが、名前空間の変更以外に Zend のドキュメントに何も見つかりません。

これが私のエラーメッセージです。

「'UserNameValidate' という名前のプラグインがレジストリに見つかりませんでした。使用されたパス: Zend_Validate_: Zend/Validate/」

追加のパスを検索するように指示したいと思います。

4

3 に答える 3

2

私は自分の問題を使用して解決することができました

addElementPrefixPath('Application_Validate',
                                    '../application/validate',
                                    'validate');
于 2011-02-10T19:58:00.097 に答える
1

APIドキュメントを確認しましたか?Zend_Validate には addDefaultNamespaces メソッドがあります...

public static function addDefaultNamespaces($namespace){
于 2011-02-09T04:34:08.353 に答える
1

私は通常、カスタムバリデーター (例My_Validate_Age) をAPPLICATION_PATH/validators名前付きで保持します。この場合、php ファイルは次のようになりますAPPLICATION_PATH/validators/Age.php。このセットアップでは、検証パスを Zend_Autoloader に追加する必要があります。Bootstrap.php でこの目的のために私が持っている:

 protected function _initAutoload() {
    $autoLoader = Zend_Loader_Autoloader::getInstance();

    $resourceLoader = new Zend_Loader_Autoloader_Resource(array(
                'basePath' => APPLICATION_PATH,
                'namespace' => '',
            ));

    $resourceLoader->addResourceType('validate', 'validators/', 'My_Validate_');

    $autoLoader->pushAutoloader($resourceLoader);

}

これがお役に立てば幸いです。

于 2011-02-09T05:40:33.530 に答える