質問: お世話になります。 バリデーション時に、特定カラムだけvalidateを無効化させたい場合、 CakePHP2系では、Controller内で以下のように書けば出来たかと思います。 ``` unset($this->Model->validate['column_name']); ``` 上記と同じ処理をCakePHP3系で書こうとした際、どうされていますでしょうか? Controller内で、以下のように書けば全validationを無効化出来ることは知識としてございます。 ``` $this->Models->newEntity($this->request->data, ['validate' => false]); ``` 特定カラムのvalidation無効化を、完結に1行程度で済ませる方法が無いか悩んでおります、、、 ご存知の方、ぜひご教示下さいませ>
回答: ValidatorクラスのoffsetUnset()を使います。 offsetUnset() ひっそりと載っています。APIの方とかあまり見ませんよね。 モデルのvalidationDefault()でバリデーションを設定している場合は次のようになります。 ``` // Models: モデル名 // field: フィールド名 $this->Models->validator('default')->offsetUnset('field'); ```