管理画面で各種IDを直接入力するような場合のチェックを想定。
/** 使い回しのため親クラスにカスタムValidationの関数を用意する */
class AppModel extends Model {
public $uses = array('User');
public function existsUser($check) {
// countを使って存在チェック
$count = $this->User->find('count', array('conditions'=>array('id'=>$check), 'recursive' => -1) );
return $count > 0;
}
}
/** validateの設定 */
class SampleModel extends AppModel {
public $validate = array(
'user_id' => array(
'existsUser' => array(
'rule' => 'existsUser',
'message' => '存在するユーザーのIDを入力してください'
)
)
);
}