我的CakePHP中的验证似乎已禁用

时间:2009-08-01 23:33:05

标签: validation cakephp

我正在关注CakePHP网站上的blog tutorial,但验证不起作用,我不明白为什么,因为我正在使用博客教程代码。

我会直接从我的文件中报告......

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页面然后单击“保存而没有任何输入文本”时,它不会重新加载并显示错误;它将空数据插入到数据库中,然后使用“您的帖子已保存”消息重定向我。

为什么不验证自己?我已经读到docs,没有必要致电validate(); save()就足够了。

有关于此的任何想法吗?

1 个答案:

答案 0 :(得分:0)

我发现错误:我正在命名模型文件,将它们大写。所以,我有一个Post.php而不是post.php

CakePHP没有找到我的模型,所以它使用的是“生成”模型。