Как проверить правильность открытия тега Zend Form: Zend Form - PullRequest
0 голосов
/ 17 февраля 2011

Как проверить форму Zend? (открывающий тег)

Пример:

Форма:

 class MyForm extends Zend_Form {     
   function init()     {
         $this->addElement('select','my_select',array(
        'label'=>'My select :',
        'required'=>true,            
        'multioptions'=>array(''=>'-select please-','1'=>'value1','2'=>'value2')            
        'validators'=>array(
        array('NotEmpty', true, array('messages' => 'This field is required'))),
    ));
          } }

Контроллер:

 $form = new MyForm();

 if ($this->_request->isPost()) {
     $form_name=$this->getRequest()->getParams();         
        if($form->isValid($form_name)){
            echo "==success==";
        }
        else{
            echo "==no success==";
        }
 }

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

Вид:

 // Render the form opening tag 
 echo $this->form->renderForm(false); 
 echo '<table>';
 echo '<tr>'; 
 echo '<th>' 
 // Render the label 
 echo $this->form->my_select->renderLabel();     
 echo '</th> 
 echo '<td>'; 
 // Render the select 
 echo $this->form->my_select->renderViewHelper();
 echo $this->form->my_select->renderErrors();     
 echo '</td>'; 
 echo '</tr>'; 
 echo '</table>'; 
 echo '</form>';

я хочу показать проверку сообщения при просмотре

Этот код заполнен в ответе 18.02.2011

Ответы [ 3 ]

0 голосов
/ 17 февраля 2011

чтобы иметь ошибки валидации, сначала нужно добавить валидаторы к элементу формы,

$formElement = new Zend_Form_Element_Text('username');
      $formElement->addValidator(new Zend_Validate_Alnum());

, чтобы получить сообщения об ошибках валидации:

$arrayOfErrors = $this->view->form->getMessages();
0 голосов
/ 17 февраля 2011

Вы можете отображать ошибки для определенного элемента с помощью:

echo $this->form->my_select->renderErrors();

Если вы хотите отобразить ошибки для всех форм в одном месте:

$form->addDecorator('FormErrors');    
echo $form->renderFormErrors();
0 голосов
/ 17 февраля 2011

Я не совсем уверен, что вы имеете в виду здесь, но вот мое лучшее предположение ...

Если вы хотите отобразить набор ошибок проверки для формы и ее элементов в одном месте, попробуйте добавитьFormErrors Декоратор для формы.См. Zend_Form_Decorator_FormErrors

Что касается проверки, просто добавьте валидаторы к элементам как обычно.

...