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() 構成オプションの「無視」フラグの意味がわかりません。

API ドキュメントは次のとおりです。 ここに画像の説明を入力

確かに私はそれをグーグルで見つけて見つけましたが、これはうまくいく方法ではありません。特定の特定のものの意味を見つける方法. ソースコードを読む必要はないと思いますか?

これaddElement()を例として取り上げてください。さらに調べる場所がありませんか?Zend_Configignoreクラスには、フラグについても何も見つかりません。

4

2 に答える 2

0

私が知っているようにignore、フラグはフォーム値($form->getValues())に要素値が含まれるかどうかを定義します。ignore が true に設定されている場合、フォームの値 ( $form->getValues()) にはこの要素の値が含まれません。

于 2016-03-13T09:52:05.180 に答える
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()) {
    ...
}

ignoreZend_Form の getValues() 関数は、戻り配列に値を追加する前に各要素のフラグをチェックすることがわかります。フラグが true の場合、値は含まれません。

于 2016-03-29T18:08:46.940 に答える