有人知道如何使用 Zend_Form 和 jquery 简单地创建一个表单吗?我想使用 Zend_Form 来验证表单,因此我不必在 JavaScript 和 PHP 中编写表单的双重脚本。
谢谢,
伊沃·特罗珀特
有人知道如何使用 Zend_Form 和 jquery 简单地创建一个表单吗?我想使用 Zend_Form 来验证表单,因此我不必在 JavaScript 和 PHP 中编写表单的双重脚本。
谢谢,
伊沃·特罗珀特
那里没问题。
如果您使用自动加载,请将 ZendX_JQuery 添加到您的库中。
然后根据您的需要扩展 ZendX_JQuery_Form。在你的类的 init() 方法中做你的事情。
例如,我能够创建一个具有常规 Zend_Form 验证和 JQuery 行为的 AutoComplete 字段,如下所示:
$elem = new ZendX_JQuery_Form_Element_AutoComplete(
'query',
array('Label' => 'Search',
'required'=>true,
'filters'=>array('StripTags'),
'validators'=>array(
array('validator'=>'StringLength',
'options'=>array('min'=>'3'),
'breakChainOnFailure'=>true
),
array('Alnum')
)
)
);
$elem->setJQueryParams(array('data' => array(),
'url' => 'my_autocomplete_callback.php',
'minChars' => 1,
'onChangeInterval' => 500,
)
);
然后我什至像这样更改了默认装饰器:
$elementDecorators = array(
array('UiWidgetElement', array('tag' => '')),
array('Errors', array('tag' => 'div', 'class'=>'error')),
array('Label'),
array('HtmlTag', array('tag' => 'div')),
);
$elem->setDecorators($elementDecorators);
最后添加到我的表单中(记住我在 init() 中,所以我将通过 $this 解决它):
$this->addElement($elem);
你来了,魔法完成了。
PS:不要忘记在引导程序中添加以下内容:
$view->addHelperPath('ZendX/JQuery/View/Helper/', 'ZendX_JQuery_View_Helper');
好吧,Zend_Form 不会为您生成任何客户端 JavaScript 验证器,如果这就是您的意思的话。
但是:您可以只在服务器上进行所有验证,并使用 jQuery 挂钩字段的更改事件,并对表单验证进行 AJAX 化。
检查那个样本。
http://web.archive.org/web/20100814175334/http://steven.macintyre.name/zend-framework-jquery-form-validation-plugins/ 这里我们展示了如何在 Zend 框架中添加一个插件来处理客户端验证