Zend Validator位置

时间:2011-02-09 04:22:06

标签: zend-framework zend-validate

我是否需要将自定义Zend Validator位置保存为“Zend / Validate”?我宁愿为我的所有自定义验证脚本创建一个文件夹,但除了更改命名空间之外,在Zend文档中找不到任何内容。

这是我的错误消息。

“在注册表中找不到名称'UserNameValidate'的插件;使用的路径:Zend_Validate_:Zend / Validate /”

我想告诉它搜索其他路径。

3 个答案:

答案 0 :(得分:2)

我能够使用

解决我的问题
addElementPrefixPath('Application_Validate',
                                    '../application/validate',
                                    'validate');

答案 1 :(得分:1)

您是否查看过API文档? Zend_Validate有一个addDefaultNamespaces方法......

public static function addDefaultNamespaces($namespace){

答案 2 :(得分: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);

}

希望这会对你有所帮助。