Как сделать проверку формы в 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
}