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 回答