Как сделать проверку формы в Cakephp?

Я пытался сделать проверку формы в CakePHP. У меня есть раскрывающееся меню, и я хочу установить его, чтобы разрешить выбор элемента в раскрывающемся меню, прежде чем перейти к следующей странице. Однако я не могу этого сделать.

Я хотел бы знать, как сделать проверку формы. Я читал, что у CakePHP 2.4 и выше есть проблемы с проверкой формы, а у меня CakePHP 2.8.

Объясните пожалуйста, стоит ли это делать в контроллере или модели?

Я прочитал поваренную книгу, но не помог. Все еще новичок с рамками, спасибо, если кто-то может помочь.

2 ответа

Решение

Поместите это в свой controller.php

function add(){
    if(!empty($this->data)){
        $this->{$this->modelClass}->set($this->data);
        if($this->{$this->modelClass}->addValidate()){

        }
    }
} 

Поместите это в свой model.php

function addValidate(){
   $validate1   = array(
      'field_name' => array(
          'rule1' => array(
              'rule' => 'notEmpty',
              'message' => 'Please enter field_name'
           )
       )
   );
   $this->validate = $validate1;
   return $this->validates();
}

В вашей модели напишите

public $validate = array(
    'field' => array(
        'rule' => 'notBlank',
        'message' => 'This field is required.'
    )
);

И тогда в вашем контроллере

$this->ModelName->set($this->request->data);

if ($this->ModelName->validates()) {
    // it validated logic
} else {
    // didn't validate logic
}
Другие вопросы по тегам