cakephp模型验证不起作用

时间:2015-01-25 17:48:03

标签: cakephp

我已经搜索并应用了几乎所有我能找到但仍面临同样问题的建议。我不知道为什么我的模型验证不起作用。它是一个简单的注册页面。任何人都可以指导我完成这件事。这是我下面的代码..

View - 
<?php echo $this->Form->create('User'); ?>
 <label>Username:</label>
    <?php echo $this->Form->text('username'); ?>
<label>Email:</label>
    <?php echo $this->Form->email('email'); ?>
<label>Password:</label>
    <?php echo $this->Form->password('password'); ?>
<label>Address:</label>
    <?php echo $this->Form->textarea('address'); ?>
<?php echo $this->Form->end(__('Register')); ?>


Controller - 
public function register() {
    if ($this->request->is('post')) {
        $this->User->set($this->request->data);
        if($this->User->validates()){
            $this->User->save($this->request->data);
        }
    }
}

Model - 
public $validate = array(
    'username' => array(
            'required' => true,
            'rule' => array('isUnique'),
            'message' => 'A username is required',
            'allowEmpty' => false
    ),
    'password' => array(
            'required' => true,
            'rule' => array('minLength', '8'),
            'message' => 'A password is required',
            'allowEmpty' => false
    ),
    'email' => array(
            'required' => true,
            'rule' => array('email','isUnique', 'on' => 'create'),
            'message' => 'A password is required',
            'allowEmpty' => false
    ),
    'address' => array(
            'required' => true,
            'rule' => array('notEmpty'),
            'message' => 'A password is required',
            'allowEmpty' => false
    )
);

我面临的问题是当我点击注册时,它会输入空白条目。我的db结构在这里的每个字段的“null”属性中都有“yes”。当我将它们设为“no”时,它会给出标准的完整性违规错误。

2 个答案:

答案 0 :(得分:0)

在保存呼叫之前使用create。此外,不需要设置和验证。保存将为您调用验证。

答案 1 :(得分:0)

将视图更改为echo $this->Form->inputs(array ('email', username'....),这应该添加字段确定。