有人知道如何使用 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表单验证

检查获取的样品。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top