Zend 框架表单与 jquery

Posted

技术标签:

【中文标题】Zend 框架表单与 jquery【英文标题】:Zend Framework form with jquery 【发布时间】:2010-10-14 12:30:27 【问题描述】:

有人知道如何使用 Zend_Form 和 jquery 简单地创建一个表单吗?我想使用 Zend_Form 来验证表单,这样我就不必用 javascriptphp 编写表单了。

谢谢,

伊沃特罗珀特

【问题讨论】:

【参考方案1】:

没问题。

如果您使用自动加载,请将 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');

【讨论】:

请注意 - ZendX 将被删除并且不再受支持。 @Jonathan zend-framework-community.634137.n4.nabble.com/…【参考方案2】:

好吧,Zend_Form 不会为您生成任何客户端 JavaScript 验证器,如果您是这个意思的话。

但是:您可以只在服务器上进行所有验证,并使用 jQuery 挂钩字段的更改事件,并对表单验证进行 AJAX 化。

查看that 获取样本。

【讨论】:

【参考方案3】:

http://web.archive.org/web/20100814175334/http://steven.macintyre.name/zend-framework-jquery-form-validation-plugins/ 这里我们展示了如何在 Zend 框架中添加一个插件来处理客户端的验证

【讨论】:

以上是关于Zend 框架表单与 jquery的主要内容,如果未能解决你的问题,请参考以下文章

Zend 框架 - 表单不呈现

zend 框架子表单isValidPartial?

检索 Zend 框架中的子表单元素?

Zend 框架 - 定制表单验证

zend 框架显示/处理表单使用相同的动作/视图?

Zend 框架中的表单级别验证