Проверка модели CakePHP не работает должным образом
Я новичок в CakePHP и создал нормальную форму для отправки имени. Моя таблица называется "registers". Я создал контроллер с именем RegistersController (RegistersController.php) и модель с именем Register (Register.php). Каждый раз, когда я отправляю после ввода имени, он по-прежнему отображает ошибку (Имя должно), который это должно происходить только в том случае, если я отправляю его, ничего не вводя. Затем я добавил проверку на наличие минимум 6 символов. Эта проверка также не работает. Я имею в виду, что CakePHP не проверяет это правило. Может кто-нибудь сказать, где я сделал что-то не так?
Модель:-
class Register extends AppModel {
//put your code here
//public $useTable = "registers";
public $validate = array(
'first'=>array(
'minLength' => array(
'rule' => array('minlength','6'),
'field' => 'first',
'message' => 'Minimum 6 characters required'
),
'required' => array(
'rule'=>array('notEmpty'),
'required' => true,
'message' => array('First name is must')
)
)
);
}
Контроллер:-
class RegistersController extends AppController {
public $uses = array("Register");
//put your code here
public function index() {
if($this->request->is('post')){
//echo "Data";
if($this->Register->validates()){
//$this->Register->create();
//echo "Data validated";
print_r($this->Register->validationErrors);
}else{
//echo "Data not validated";
print_r($this->Register->validationErrors);
}
}
}
Мой взгляд таков:
<?php
echo $this->Form->create('Register');
echo $this->Form->input('first');
echo $this->Form->end("Submit");
?>
1 ответ
Вы пропустили эту строку
$this->Register->set($this->request->data);
Поместите это перед проверочным вызовом, т.е.$this->Register->validates()