我有一个表单,它在cakephp中添加了user的first_name和last_name。 这是代码
视图代码(add.ctp
)
<?php
echo $this->Form->create('User');
echo $this->Form->input('first_name',array('label'=>'First Name'));
echo $this->Form->input('last_name',array('label'=>'Last Name'));
echo $this->Form->end('Add User');
?>
UserController的代码(UsersController.php
)
<?php
public function add(){
if($this->request->is('post')){
$addData = $this->request->data;
$this->User->create();
if($this->User->save($addData)){
$this->Session->setFlash('User has been added successfully');
$this->redirect(array('action'=>'index'));
}
}
}
?>
查看用户模型代码(UserModel.php
)
<?php
class UserModel extends AppModel{
public $validate = array(
'first_name' => array(
'rule' => 'notEmpty',
'message' => 'first name should not be empty.'
),
'last_name' => array(
'rule' => 'notEmpty',
'message' => 'last name should not be empty.'
)
);
}
?>
这是我正在使用的代码,我在cakebook上也看过并使用了其他各种规则,但没有验证适用于我的表单。请问有什么可以帮助我的原因是什么? 提前致谢!
答案 0 :(得分:5)
您的模型文件名不正确。它应该是User.php
而不是UserModel.php
答案 1 :(得分:1)
如果您在mysql中使用表名作为用户而不是user.php
UserModel.php
并且您的类名必须如下所示
<?php
class User extends AppModel{
var $name = 'User';
public $validate = array(
'first_name' => array(
'rule' => 'notEmpty',
'message' => 'first name should not be empty.'
),
'last_name' => array(
'rule' => 'notEmpty',
'message' => 'last name should not be empty.'
)
);
}
?>
答案 2 :(得分:0)
您的型号名称应为User(因为您的表名和控制器名称是用户)。 所以在您的模型文件(User.php)中尝试这个
<?php
App::uses('AppModel', 'Model');
class User extends AppModel{
public $validate = array(
'first_name' => array(
'rule' => 'notEmpty',
'message' => 'first name should not be empty.'
),
'last_name' => array(
'rule' => 'notEmpty',
'message' => 'last name should not be empty.'
)
);
}