以下是错误消息:
警告(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)
来解决这个问题。我为模型中的每个事件尝试了这一点,但它没有解决问题。
答案 0 :(得分:7)
问题是我将规则unique
命名为isUnique
而不是{。}}。
我会通过更好的错误消息更快地解决这个问题。