public function validate($data = null, $skip_validation = null) { switch ($skip_validation) { case 'update': if (empty($data['password'] . $data['confirm_password'])) { $skip_validation = 'update_no_password'; } break; case 'login': /* swap out the rules */ $this->rules['password'] = $this->rules['login_password']; $this->rules['email'] = $this->rules['login_email']; break; } return parent::validate($data, $skip_validation); }