【PHP】CakePHPで特定のバリデーションルールを解除
こんにちは。
CakePHPではモデルの$validateにバリデーションルールを指定しています。
ここで指定するとsaveのときや $this->Model->validates() で自動でバリデーションをしてくれてとても便利です。
しかし、場合によってはバリデーションルールの一部をここでは使わなくていい、というときがあります。
今回はその場合のやり方についてメモしておきます。
やり方としては、unsetで対象のルールを解除してからバリデーションを行います。
例えばUserモデルのemailのnotEmptyを解除したい場合は以下のように書きます。
<?php unset($this->User->validate['email']['notEmpty']); if ($this->User->validates()){ } ?>
ちなみにunsetは(ローカル)変数の割当を解除する関数です。
今回は以上です。
それでは。