スポンサードリンク
バリデーションってすごく便利なんですが
場合によってはバリデーションさせたい項目を
減らしたかったり、ルールの内容を変更したいことがありました。
僕は項目を減らしたかったので
使いたい場所ではルールを変えて対処しています。
スポンサードリンク
バリデーションルールを追加する
まず、モデルに通常のバリデーションとは
違うバリデーションを記述します。
※ここではvalidate_newという名前にしています。
(例)Model.php
//バリデーション public $validate_new = array( //新しくバリデーションルールを書く )
コントローラーで使うバリデーションを変更する
次に、コントローラーでバリデーションを切り替えます。
$this->Model->validate = $this->Model->validate_new; $this->Model->validates()
これで別に作ったバリデーションを使うことができます。
ページによってはフォームの項目が少なかったりするので
あるカラムだけバリデーションを外したいと思ったのですが
できなかったんですよ。
CakePHP1系ならできるみたいなんですが
CakePHP2.x系ではなくなったのかな?
とりあえず、今はこちらの方法で対応しています。
スポンサードリンク