我是否需要将自定义Zend Validator位置保存为“Zend / Validate”?我宁愿为我的所有自定义验证脚本创建一个文件夹,但除了更改命名空间之外,在Zend文档中找不到任何内容。
这是我的错误消息。
“在注册表中找不到名称'UserNameValidate'的插件;使用的路径:Zend_Validate_:Zend / Validate /”
我想告诉它搜索其他路径。
答案 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);
}
希望这会对你有所帮助。