2012-05-24 124 views
0

嘿试图得到一个工作在一个布尔字段上的验证检查,称为“激活”。基本上,如果布尔值为1,那么帐户是活动的,这意味着他们可以登录。如果是别的,用户将无法登录。布尔验证检查cakephp不工作

下面是用户模型我检查:

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

不幸的是用户能够登录时,他们不是假设。

回答

0

我相信模型中的验证只在数据被保存时才被测试。

如果您使用的是身份验证组件,您可以定义一个“范围”,该范围必须等于true才能进行身份验证。

'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); 

希望这回答你的问题。