[英]Using Custom Zend Validator in INI file
我沒有自定義Zend_Form,我只是在ini文件中聲明了所有元素。 從ini文件創建Zend_Form沒問題,但是在我的ini文件中使用自己的自定義驗證程序時遇到了問題。 它總是返回在注冊表中找不到錯誤。
目前,我的代碼是這樣的。
[Bootstrap]
$resourceLoader = new Zend_Loader_Autoloader_Resource(array(
'namespace' => 'MY',
'basePath' => dirname(__FILE__)
));
$resourceLoader->addResourceType('validator', 'forms/validate/', 'Form_Validate');
[ini file]
form.elements.new_password.options.validators.password.validator = "Password"
[Custom Validator]
<?php
class MY_Form_Validate_Password extends Zend_Validate_Abstract
{
......
請告訴我我在這里想念的東西。 謝謝!
這是一個過度思考的情況:
我假設您使用的是ZF1.x的新版本(v1.10和更高版本)。
您有一個名為project/application/configs/application.ini
在標准application.ini中的行是:
includePaths.library = APPLICATION_PATH "/../library"
這告訴我們,我們所有的庫代碼(一個定制的驗證器都合格)將屬於該路徑下的目錄。
也有一行:
autoloaderNamespaces[] = "MY_"
這告訴我們庫的名稱(在/ library下定義目錄)。
因此我們的自定義驗證器MY_Form_Validate_Password
將位於:
project
/library
/MY
/Form
/Validate
Password.php
不需要任何其他操作,僅當您要執行Zend Framework預期不到的操作時,也需要所有引導代碼,而且驗證程序通常也不會注冊為資源。
該類可以稱為
$validator = new MY_Form_Validate_Password();
像往常一樣,任何其他訪問方法也應該起作用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.