Tôi đã xác thực trong mô hình. Ngoài ra, tôi đã đưa ra một số xác nhận trong bộ điều khiển để kiểm tra mã captcha. Sau đó, ứng dụng không hiển thị lỗi xác thực mô hình. Nếu tôi nhận xét mã điều khiển, xác thực mô hình đang hoạt động tốt và hiển thị lỗi. Cả hai không làm việc ..xác thực CakePHP từ cả mô hình và bộ điều khiển
đang Model (mẫu)
class User extends AppModel {
var $name = 'User';
var $validate = array(
'username' => 'notempty',
'firstname' => 'notempty'
);
}
điều khiển đang
if (!empty($this->data)) {
$this->User->set($this->data);
$this->User->create();
$captcha = $this->Session->read('CAPTCHA_CODE');
if (strtolower($captcha) != strtolower($this->data['User']['captcha']))
{
$this->User->invalidate('captcha', __('Sorry, your entry did not match', true));
}
if ($this->User->save($this->data, array('validate' => 'only')))
{
if ($this->User->save($this->data, array('validate' => 'false'))) {
$this->Session->setFlash(__('Registered successfully', true));
$this->redirect('success');
}
}else {
$this->Session->setFlash(__('Please, try again.', true));
}
}
tôi đã thay thế dòng if ($this->User->save($this->data, array('validate' => 'only')))
với if ($this->User->validates())
, sau đó nó cũng không hoạt động.
hãy giúp
Phát biểu của MVC, Mô hình không được có trường hình ảnh xác thực. UserModel không nên biết "captcha". Cho đến bây giờ, tôi không thể tìm ra giải pháp hợp lý, phù hợp cho vấn đề đó. – hongster
@hongster, đây là một điểm tuyệt vời. Tôi hiện đang gặp sự cố "xác thực" liệu trường new_password có khớp với trường confirm_password hay không. Tuy nhiên việc đặt logic này trong Mô hình sẽ không có ý nghĩa. Liên quan đến mật khẩu bạn thực sự sẽ chỉ được xác nhận đối với các quy tắc mật khẩu của bạn. Cảm ơn cho tôi đặt thẳng. – rob5408