Использование пользовательской функции isValid () для конкретной подчиненной формы в Zend_Form - PullRequest
0 голосов
/ 07 сентября 2010

У меня есть форма с несколькими подчиненными формами.Я переопределил функцию isValid формы своей собственной, но не могу найти никакой документации о том, как установить функцию isValid для отдельной подчиненной формы.

Может кто-то опубликовать ссылку или пример кода, чтобы я мог научиться каксделайте это пожалуйста.

Заранее спасибо.

Ответы [ 3 ]

3 голосов
/ 07 сентября 2010
<?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',
        ));
    }
}
1 голос
/ 07 сентября 2010
$form1 = new ..._Form1();
$form2 = new ..._Form2();

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

if ($form2->isValid($this->getRequest()->getPost())) {
   ...
}
0 голосов
/ 09 сентября 2010

Попробуйте использовать Zend_Validate_Callback http://framework.zend.com/manual/en/zend.validate.set.html, чтобы проверить только нужные вам специальные поля. Вы можете получить доступ к другим значениям поля через контекст.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...