我是 CakePhp 的新手,我正在使用 CakePhp 2.x。我可能会以错误的方式解决以下问题。而且我只知道我忽略了一些非常简单的事情,但是......
我正在根据“在 5 到 15 个字符之间”验证登录详细信息,它们正在按预期重新调整错误。
[The MODEL]
public $validate = array(
'username' => array(
'between' => array(
'rule' => array('between', 5, 15),
'message' => 'Between 5 to 15 characters'
)
),
'password' => array(
'rule' => array('minLength', '8'),
'message' => 'Minimum 8 characters long'
)
);
[The CONTROLLER]
public function login() {
if ($this->request->data) {
$this->User->set($this->request->data);
if ($this->User->validates() && $this->Auth->login()) {
if ($user = $this->Auth->user()) {
$this->render($this->Auth->redirect());
}else{
//??
}
}else{
$this->User->create();
pr($this->User->invalidFields());
$errors = $this->User->validationErrors;
$data = compact('errors');
$this->set('errors', $data);
$this->set('_serialize', array('errors'));
$this->Session->setFlash('Your username/password combination was incorrect');
}
}
}
所以,问题是,如果字段遵循上面模型中的规则,即使登录详细信息(用户)不存在,也不会返回错误(不好)。为此添加其他验证是否正确,添加另一条规则以检查该用户是否实际存在?如果有怎么办!?
或者,我是否将其用于控制器登录功能检查用户是否存在?我现在有点困惑。可能我看屏幕太久了。
谢谢。