CakePHP为什么我收到此错误?

时间:2011-01-25 20:34:45

标签: php cakephp cakephp-1.3

以下是错误消息:

  

警告(2):preg_match()[http://php.net/function.preg-match]:分隔符不能是字母数字或反斜杠[CORE / cake / libs / model / model.php,第2611行]

当我从控制器调用以下代码时会发生这种情况:

$this->Account->save($this->data)

该模型如下所示:

class Account extends AppModel 
{       
    var $validate = array(        
        'first_name' => array(
            'rule' => array('minLength', 1),
            'required' => true   
        ),
        'last_name' => array(
            'rule' => array('minLength', 1),
            'required' => true   
        ),
        'password' => array(
            'rule' => array('minLength', 8),
            'required' => true    
        ),        
        'email' => array(
            'emailRule1' => array(
                'rule' => 'email',
                'required' => true,
                'message' => 'You must specify a valid email address' 
            ),
            'emailRule2' => array(
                'rule' => 'unique',
                'message' => 'That email address is already in our system'     
            )
        )   
    );
}

我发现了类似的问题explained here

他通过将required' => true更改为required' => array(true)来解决这个问题。我为模型中的每个事件尝试了这一点,但它没有解决问题。

1 个答案:

答案 0 :(得分:7)

问题是我将规则unique命名为isUnique而不是{。}}。

我会通过更好的错误消息更快地解决这个问题。