Проверка формы не работает в Zend Form - PullRequest
1 голос
/ 05 мая 2011

Это мой код формы Zend

<?php
class Form_Bookmark extends Zend_Form{
    function init(){            
        $url_address = $this->createElement("text", "url_address");
        $url_address->setLabel("Url");        
        $url_address->isRequired(TRUE);
        $bmk_title = $this->createElement("text", "bmk_title");
        $bmk_title->setLabel("Title");
        $bmk_title->isRequired(TRUE);
        $bmk_desc = $this->createElement("textarea", "bmk_desc");
        $bmk_desc->setLabel("Description");
        $bmk_ispublic = $this->createElement("checkbox", "bmk_ispublic");
        $bmk_ispublic->setLabel("IsPublic?");
        $bmk_ispublic->isRequired(TRUE);
        $submit = new Zend_Form_Element_Submit("submit");
        $submit->setValue("Submit");
        $this->addElement($url_address);
        $this->addElement($bmk_title);
        $this->addElement($bmk_desc);
        $this->addElement($bmk_ispublic);
        $this->addElement($submit);
    }
}
?>

Это код моего контроллера

$f = Zend_Controller_Front::getInstance();
        $bookmark_form = new Form_Bookmark();

        $bookmark_form->setAction($f->getBaseUrl()."/user/index");
        $bookmark_form->setMethod("POST");
        if($this->getRequest()->isPost()){           
            if($bookmark_form->isValid($_POST)){

                echo "FORM VALIDATED SUCCESSFULLY";
            }else{
                echo "FORM VALIDATION FAILED";
            }
        }

        $this->view->form = $bookmark_form;

Проблема в том, что проверка формы не работает. всегда отображается «FORM VALIDATED SUCCESSFULLY», даже если я отправляю пустую форму, хотя я добавил $ url_address-> isRequired (TRUE); свойство "ИСТИНА".

1 Ответ

4 голосов
/ 05 мая 2011

Установлено правильное имя методаRequired:

$bmk_title->setRequired(true);
...