Я следую учебнику по блогу на веб-сайте CakePHP, но проверка не работает, и я не понимаю почему, потому что я использую код учебника по блогу.
Я все равно буду сообщать прямо из моих файлов ...
MODEL
class Post extends AppModel
{
var $name = 'Post';
var $validate = array(
'title' => array(
'rule' => 'notEmpty'
),
'body' => array(
'rule' => 'notEmpty'
)
);
}
CONTROLLER
class PostsController extends AppController {
var $name = 'Posts';
function index() {
$this->set('posts', $this->Post->find('all'));
}
function view($id) {
$this->Post->id = $id;
$this->set('post', $this->Post->read());
}
function add() {
if (!empty($this->data)) {
if ($this->Post->save($this->data)) {
$this->Session->setFlash('Your post has been saved.');
$this->redirect(array('action' => 'index'));
}
}
}
}
ПРОСМОТР (добавить представление)
<h1>Add Post</h1>
<?php
echo $form->create('Post');
echo $form->input('title');
echo $form->input('body', array('rows' => '3'));
echo $form->end('Save Post');
?>
Когда я попадаю на страницу / posts / add и затем нажимаю «Сохранить» без ввода текста, он не перезагружается с ошибкой; он вставляет пустые данные в базу данных, а затем перенаправляет меня с сообщением «Ваше сообщение было сохранено».
Почему не проверяет себя? Я прочитал в документах , что нет необходимости звонить validate()
; save()
достаточно.
Есть идеи по этому поводу?