0

像这样的 Zend_Form:

class Application_Form_Registration extends Zend_Form
{

    public function init()
    {
        /* Form Elements & Other Definitions Here ... */
        $$this->setMethod('post');

        //first name
        $this->addElement('text', 'email', array(
            'label'         => 'First name',
            'required'      => true,
            'filters'       => array('StringTrim'),
        ));

        //last name
        $this->addElement('text', 'lastname', array(
            'label'         => 'Last name', 
            'required'      => true,
            'filters'       => array('StringTrim')
        ));

        $this->addElement('submit', 'submit', array(
            'ignore'        => true,
            'label'         => 'Submit'
        ));

        $this->addElement('hash', 'csrf', array(
            'ignore'    => true,
        ));
    }


}

我通读了 ZF1 1.12 API 和参考文档,但在 Zend_Form::addElement() 配置选项中找不到标志“ignore”的含义。

api文档就是这样的: 在此处输入图像描述

当然,我用谷歌搜索并找到了它,但这不是工作方式。如何找到某些特定内容的含义。我不认为我需要阅读源代码?

仅以此addElement()为例,我是否错过了进一步研究的地方?在Zend_Config类中我也找不到关于ignore标志的任何内容。

4

2 回答 2

0

ZF 文档有时可能会……缺少。忽略标志状态的 API 文档:

getIgnore( ) : bool Get ignore flag (used when retrieving values at form level)

这暗示ignore标志与行为有关,Zend_Form GetValues()但并没有真正说明。

在这些情况下,我喜欢直接查看源代码,以便自己查看:

public function getValues($supressArrayNotation = false)
{
    ...
    foreach ($this->getElements() as $key => $element) {
        if (!$element->getIgnore()) {
    ...
}

您可以看到 Zend_Form 中的 getValues() 函数将ignore在将值添加到返回数组之前检查每个元素上的标志。如果标志为真,则不包含该值。

于 2016-03-29T18:08:46.940 回答
0

据我所知ignore,标志定义了表单值($form->getValues())是否包含元素值。如果某些元素的 ignore 设置为 true,则表单值 ( $form->getValues()) 将不包含该元素值。

于 2016-03-13T09:52:05.180 回答