簡體   English   中英

cakephp驗證規則未觸發

[英]cakephp validation rules not firing

給定以下控制器:

class UsersController extends AppController {
    public function findUser() {
        ...
        $this->User->findUser($this->request->query['u']);
        ...
    }
}

以及以下模型:

class User extends AppModel {
    public $validate = array(
        'username' => array(
            'rule' => array('minLength', '8'),
            'message' => 'Username must be at least 8 characters'
        )
    );

    public function findUser($username) {
        return $this->find('all', array(
            'conditions' => array('username' => $username),
        ));
    }
}


例如,如果我在URL中鍵入以下內容: http://example.com/users/findUser?u=a : http://example.com/users/findUser?u=a u=a驗證器不會被觸發。 為什么?

驗證器用於插入或更新數據,而不用於查詢數據。

您必須手動執行validates方法(除非您要保存數據):

if ($this->User->validates()) {
    // valid
} else {
    // not valid
    $errors = $this->User->validationErrors;
}

插入/更新數據時,將自動執行驗證程序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM