Zend 框架表单与 jquery
-
21-08-2019 - |
题
有人知道如何使用 Zend_Form 和 jquery 简单地创建一个表单吗?我想使用 Zend_Form 来验证表单,这样我就不必在 JavaScript 和 PHP 中双重编写表单脚本。
谢谢你,
伊沃·特罗姆伯特
解决方案
没有问题出现。
添加ZendX_JQuery到库中,如果您使用自动加载。
然后ZendX_JQuery_Form延伸您的需求。 不要在你的类的init()方法你的东西。
例如,我能够创建有定时Zend_Form的验证加JQuery的行为像这样的自动完成字段:
$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->addElement($elem);
有你,魔术完成。
PS:不要忘了添加在你的引导下:
$view->addHelperPath('ZendX/JQuery/View/Helper/', 'ZendX_JQuery_View_Helper');
其他提示
好地,Zend_Form将不会产生任何客户端JavaScript验证器为你,如果这是你的意思。
但是:你可以做所有验证的服务器上,并使用jQuery挂钩到田间改变事件,以及AJAX的IFY表单验证
检查该获取的样品。
不隶属于 StackOverflow