(CakePHP2.x)バリデーションで別に定義したものを使う

CakePHP

CakePHP

バリデーションってすごく便利なんですが

場合によってはバリデーションさせたい項目を

減らしたかったり、ルールの内容を変更したいことがありました。

僕は項目を減らしたかったので

使いたい場所ではルールを変えて対処しています。

スポンサードリンク

バリデーションルールを追加する

まず、モデルに通常のバリデーションとは

違うバリデーションを記述します。

※ここではvalidate_newという名前にしています。
(例)Model.php

//バリデーション
public $validate_new = array(
   //新しくバリデーションルールを書く
)

コントローラーで使うバリデーションを変更する

次に、コントローラーでバリデーションを切り替えます。

     $this->Model->validate = $this->Model->validate_new;
     $this->Model->validates()

これで別に作ったバリデーションを使うことができます。

ページによってはフォームの項目が少なかったりするので

あるカラムだけバリデーションを外したいと思ったのですが

できなかったんですよ。

CakePHP1系ならできるみたいなんですが

CakePHP2.x系ではなくなったのかな?

とりあえず、今はこちらの方法で対応しています。

CakePHP2 実践入門 (WEB DB PRESS plus)

新品価格
¥3,110から
(2015/1/27 23:08時点)

スポンサードリンク

コメントを残す

サブコンテンツ

このページの先頭へ