コントローラに直接バリデーションを書くと、何が困りますか。
コントローラが縦に伸びて本来の処理が埋もれます。同じ入力を扱う箇所が増えるとルールがコピペで散らばり、片方だけ直して食い違います。ルール単体のテストもしづらくなります。
面接官が見ているのは分離の理由の補強。
これは「バリデーションの置き場所として基本になるのはどれですか。」への追撃質問です。
よくある答えと、面談でどう見られるか
- コントローラが長くなり、同じルールが複数箇所にコピペで散らばる
その通りです。片方だけ直して食い違う、という事故が起きます。検証ルール単体でテストしたいときにも不便です。 - バリデーションが動作しなくなる
動作はします。問題は保守性です。 - セキュリティ上の脆弱性になる
直接の脆弱性ではありませんが、抜け漏れが起きやすくなるという意味では近い指摘です。 - パフォーマンスが落ちる
速度はほぼ変わりません。
面接官は何を見ているか
- コントローラが長くなる点を挙げた
- 同じルールの重複に触れた
- テストのしづらさに触れた
模範解答
まずコントローラが縦に伸びて、本来の処理が埋もれます。同じ入力を扱う箇所が複数あると、ルールがコピペで散らばり、片方だけ直して食い違うということが起きます。検証ルール単体でテストしたくなった時にも、コントローラごと呼ばないと試せなくて不便です。
対象: Laravel 12.x(13.x の変更点も確認) 照合した一次資料: 公式ドキュメント 照合: 2026-08-11 最終更新: 2026-10-25
お使いの版で挙動が違う場合があります。誤りに気づいたらこの解説を報告するから教えてください。