FormRequestクラスで、複雑なバリデーションをしたい
このリクエストしか使わないので、独自バリデーションを作りたくない
かといって、Controllerとかで受け取って処理するのは、別の場所に関心を増やすから嫌だってことで。
インスタンス取得時に追加
/** * @return \Illuminate\Contracts\Validation\Validator */ protected function getValidatorInstance() { $validator = parent::getValidatorInstance(); $validator->after(function ($validator) { if ($this->input('item_count') > 10) { $validator->errors()->add('item_count', 'これ以上購入は出来ません'); } }); return $validator; }
ここで追加でバリデーションを定義する。