2006年07月24日
CakePHP 進階資料檢驗..
一般來說 CakePHP 中,在 model->save() 的時候,會自動根據$model->validate 的陣列進行檢查,若是沒通過則不會 Save 會丟回來一個 false 。
但是我們若是只想要檢查而沒有要存檔呢?
又或者我們自訂 errorTag 要怎麼顯示呢?
第一個問題可以從 Model 的 function 中找到解答
你可以用 $model->validates($data_array) 進行檢查。
而檢查完成後也是從 $controller->validateErrors($this->Model) 來assign 指定的 model 的錯誤檢查錯誤訊息回報。
另外若是有特殊的 errorTag 則可以用 $model->invalidate('tag_name') 來指定顯示...下面是一個檢查使用者帳號重複後的指定範例。
if ($this->find("username = '".$data['Member']['username']."'")) {
$this->invalidate('username_inuse');
return false;
}
引用URL
http://cgi.blog.roodo.com/trackback/1926086