Ivo*_*ert 12 php validation jquery zend-framework zend-form
任何人都知道如何使用Zend_Form和jquery简单地创建一个表单?我想使用Zend_Form来验证表单,所以我不需要在JavaScript和PHP中使用双脚本表单.
谢谢,
Ivo Trompert
小智 10
没问题.
如果您使用自动加载,请将ZendX_JQuery添加到您的库中.
然后根据您的需要扩展ZendX_JQuery_Form.在你的类的init()方法中做你的东西.
例如,我能够创建一个AutoComplete字段,它具有常规的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,
)
);
Run Code Online (Sandbox Code Playgroud)
然后我甚至改变了这样的默认装饰器:
$elementDecorators = array(
array('UiWidgetElement', array('tag' => '')),
array('Errors', array('tag' => 'div', 'class'=>'error')),
array('Label'),
array('HtmlTag', array('tag' => 'div')),
);
$elem->setDecorators($elementDecorators);
Run Code Online (Sandbox Code Playgroud)
最后添加到我的表单(记住我在init()中,所以我将通过$ this解决它):
$this->addElement($elem);
Run Code Online (Sandbox Code Playgroud)
你在那里,魔术已经完成了.
PS:不要忘记在引导程序中添加以下内容:
$view->addHelperPath('ZendX/JQuery/View/Helper/', 'ZendX_JQuery_View_Helper');
Run Code Online (Sandbox Code Playgroud)