我不知道为什么这不起作用(我使用的是 CakePHP 2.1 并且还尝试了 2.0):
这是模型
class User extends AppModel
{
public $validate = array('username' => array('rule' => 'email'));
}
这是控制器
class UsersController extends AppController
{
function index()
{
$this->set('users', $this->User->find('all') );
}
function add()
{
if (!empty($this->request->data))
{
if ($this->User->save($this->request->data))
{
$this->Session->setFlash('User has been registered.');
$this->redirect(array('action' => 'index'));
}
}
}
}
这是添加视图
<h1>Add Post</h1>
<?php
echo $this->Form->create('User');
echo $this->Form->input('username');
echo $this->Form->input('password');
echo $this->Form->end('Register');
?>
它验证我写的任何东西......它应该检查用户名是否是电子邮件......
不可能!它必须工作!- 但它不...
我还用 cake php 2.0 检查了它,但它仍然无法正常工作 - 请帮助,它是如此简单,我必须工作......
也许我的数据库表有问题???
CREATE TABLE `users` (
`id` int(10) unsigned not null auto_increment,
`username` varchar(50),
`password` varchar(50),
`created` datetime,
`modified` datetime,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=9;
这很奇怪——在我的应用程序文件夹中,我只添加了“UserModel.php”、“UserController.php”和“add.ctp”,以及一个数据库配置——我在上面写的所有内容——验证不起作用!!!