布尔验证检查cakephp不起作用

时间:2012-05-24 02:07:39

标签: validation cakephp boolean

嘿试图对名为'activated'的布尔字段进行验证检查。基本上,如果布尔值为1,则帐户处于活动状态,这意味着它们可以登录。如果是其他任何内容,则用户无法登录。

以下是我在用户模型中的检查:

public $checkActive = array(
        'activated'=>array(
                'rule'=>array('equalTo', '1'),
                'message'=>'The account must be activated, please check your email.'
            ));

不幸的是,用户可以在不想要的时候登录。

1 个答案:

答案 0 :(得分:0)

我相信模型中的验证仅在保存数据时进行测试。

如果您正在使用身份验证组件,则可以定义“范围”,这是一个必须等​​于用户才能进行身份验证的条件。

'scope' => array('User.activated' => 1)

更多信息和示例:http://book.cakephp.org/2.0/en/core-libraries/components/authentication.html

如果您已编写自己的身份验证,则可以将条件添加到当前的查找语句中。

$this->User->find('all', array('conditions' => array('username' => $username, 'password' => $password, 'activated' =>1); 

希望这能回答你的问题。