0

複数のサブフォームを含むフォームがあります。フォームの isValid 関数を独自の関数でオーバーライドしましたが、個々のサブフォームごとに isValid 関数を設定する方法に関するドキュメントが見つかりません。

誰かがリンクまたはサンプルコードを投稿して、これを行う方法を学ぶことができますか.

前もって感謝します。

4

3 に答える 3

3
<?php
class Your_Sub_Form extends Zend_Form_SubForm
{
    public function isValid($data)
    {
        // Your custom validation-logic here
        return parent::isValid($data);
    }

    public function init()
    {
        ...
    }
}

class Your_Form extends Zend_Form
{
    public function isValid($data)
    {
        return parent::isValid($data);
    }

    public function init()
    {
        $this->addSubForm(new Your_Sub_Form(), 'subform');

        $this->addElement('submit', 'submit', array(
            'ignore'   => true,
            'label'    => 'Submit',
        ));
    }
}
于 2010-09-07T14:16:10.177 に答える
1
$form1 = new ..._Form1();
$form2 = new ..._Form2();

if ($form1->isValid($this->getRequest()->getPost())) {
   ...
}

if ($form2->isValid($this->getRequest()->getPost())) {
   ...
}
于 2010-09-07T09:53:52.223 に答える
0

Zend_Validate_Callback http://framework.zend.com/manual/en/zend.validate.set.htmlを使用して、必要な特別なフィールドだけを検証してみてください。コンテキストを介して他のフィールド値にアクセスできます。

于 2010-09-09T00:30:03.583 に答える