2012-04-30 2 views
2

Я новичок в Zend Framework, и у меня возникла проблема. обычно при проверке данных в формах, которые мы используем JavaScript, как ниже:Формы в zend framework

<html> 
<head> 
    <script> 
     function verify(){ 
      if(document.form.name.value=="") { alert("Error"); return false} 
     } 
    </script> 
</head> 
<body> 

    <form onSubmit="verify()" name="form"> 
     <input name="name" /> 
     <input type="submit" /> 
    </form> 
</body> 
</html> 

Я использую Zend формы и я не имею понятия, как это сделать.

<?php 

class Application_Form_Login extends Zend_Form { 

    public function init() { 
     $login = new Zend_Form_Element_Text('login'); 

     $password = new Zend_Form_Element_Password('password'); 

     $submit = new Zend_Form_Element_Submit('submit'); 
     $submit->setLabel("Login"); 

     $remember = new Zend_Form_Element_Checkbox('remember'); 


     $this->addElements(array($login, $password,$remember ,$submit)); 
    } 

} 
?> 

Любая помощь пожалуйста.

благодарит за любую помощь.

ответ

3

Вы делаете это так же, как раньше, но вот как сообщить Zend_Form, чтобы добавить событие onsubmit к вашему, чтобы сгенерированный HTML-код содержал атрибут в теге <form>.

class Application_Form_Login extends Zend_Form { 

    public function init() { 
     $this->setAttrib('onsubmit', 'return verify()'); 

     // rest of your form code to add elements 
    } 
} 

Это добавляет атрибут onsubmit к Zend_Form объекта, таким образом, что, когда форма оказывается ваш <form> тег имеет onsubmit="return verify()" в нем.

Теперь вы можете просто поставить фактический код Javascript, чтобы проверить форму в самом скрипте представления или внешний файл javascript, который вы можете ссылаться в теге <script>.

Смежные вопросы