Требуется ли для проверки формы Zend Javascript? - PullRequest
0 голосов
/ 04 июля 2011

Быстрый вопрос, требует ли проверка Zend_Form JavaScript?Если это произойдет, что произойдет, если JS выключен, он вернется к нормальной проверке PHP, например.

Извините за вопрос noob, которого я просто не могу найти в документации.

Приветствия.

РЕДАКТИРОВАТЬ:

Это моя форма:

class Application_Form_Test extends Zend_Form {
    public function init() {}
    public function testForm() {
        $email = $this->createElement('text', 'email');
        $email->setLabel('E-Mail Address');
        $email->setRequired(true);
        $email->addFilter('StripTags');
        $email->addErrorMessage('an email address is required');
        $email->addValidator('NotEmpty', true);
        $email->addValidator('EmailAddress');

        $submit = $this->createElement('submit', 'submit', array('label'=>'Submit'));
        $this->addElements(
            array(
                $email, $submit
            )
        );
        return $this;
    }
}

и это мой контроллер:

class testController extends Zend_Controller_Action {
    public function init() {
        /* Initialize action controller here */
        if(!Zend_Auth::getInstance()->hasIdentity()) {  
            $this->_redirect('login/index');  
        }
        $this->_acl = new MyAcl(Zend_Auth::getInstance()->getIdentity());               
    }
    public function indexAction() {
        $form = new Application_Form_Test();
        $form = $form->testForm();
        $form->setAction('/dev/public/test/update')->setMethod('post');
        $this->view->form = $form;
    }
    public function updateAction() {
        $form = new Application_Form_Test();
        if($this->getRequest()->isPost()){
            $formData = $this->_request->getPost();
            if($form->isValid($_POST)){
                die('i seem to be valid....');
            }
            else{
                die(var_dump($_POST));
            }
        }   
    }
}

Кажется, что это не удаетсяПроверка.Есть идеи?

1 Ответ

2 голосов
/ 04 июля 2011

Нет, валидаторы Zend_Form (я имею в виду валидацию фильтров, которые вы добавляете с помощью addValidator для таких элементов формы, как этот:

 $element->addValidator ( new Zend_Validate_StringLength ( array ('max' => 5 ) ));

все обрабатываются на стороне сервера. Так что вам не нужно беспокоиться о JavaScript.

Вы можете добавить валидаторы javascript на стороне клиента, чтобы избежать обращений к серверу, если хотите, но это совсем другое.

...