yii裏的authenticate() 和CModel的validate() 的各自的用處是什麼?

LoginForm裏有一個 public function authenticate($attribute,$params) UserIdentity 裏有一個 public function authenticate() Cmodel裏有一個 public function validate($attributes=null, $clearErrors=true)數據庫

我以前總把這三個方法搞混了.app

  1. LoginForm 裏的那個authenticate 是自定義的校驗器, 在rules()裏聲明的 和系統的提供的,required,captcha,等等是一碼事

2.Useridentity裏的authenticate是驗證用的,通常是根據new時傳到構造方法裏的用戶名,密碼.到數據庫裏去比對.比對成功,接下來的操做就應該是把Useridentity對象傳到 Yii::app()->user->login("$useridentity"); 這樣在全局就能夠獲得用戶是否登陸的狀態了ide

3.model裏的validate是作什麼的呢?是根據你rules()裏定義的各個字段對應的校驗器逐一的校驗,好比用戶名爲空啊,密碼長度啊,等等. 1中提到的authenticate 就是咱們自定義的校驗器ui

相關文章
相關標籤/搜索