
コンニチハ
パンに塗り塗りジャム太郎です!
今回のテーマは「Laravelバリデーション入門」についてです。
はじめに
- 「フォームのバリデーションって何?」
- 実務では絶対に必要なスキル
- Laravelなら超簡単にバリデーションが書けます。
①バリデーションの基本的な書き方
$request->validate([
'name' => 'required',
'email' => 'required|email',
'message' => 'required|max:500',
]);
$request->validate()
を使えば一発!- ルールはパイプ(
|
)で区切るだけ。
②失敗時のエラーメッセージ表示
- Laravelは自動で前の画面に戻し、エラーメッセージも用意
- Blade側で以下のように書けばOK
@if ($errors->any())
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
③Bladeとの連携(フォーム全体の例)
<form method="POST" action="/contact">
@csrf
<input type="text" name="name" value="{{ old('name') }}">
@error('name')
<div class="error">{{ $message }}</div>
@enderror
<input type="email" name="email" value="{{ old('email') }}">
@error('email')
<div class="error">{{ $message }}</div>
@enderror
<textarea name="message">{{ old('message') }}</textarea>
@error('message')
<div class="error">{{ $message }}</div>
@enderror
<button type="submit">送信</button>
</form>
old()
関数を使って入力内容を保持@error
ディレクティブで個別エラーを表示
④よく使うバリデーションルールまとめ
ルール | 説明 |
---|---|
required | 入力必須 |
email | メールアドレス形式 |
max:数値 | 最大文字数 |
min:数値 | 最小文字数 |
numeric | 数値のみ |
date | 日付 |
confirmed | パスワード確認用 |
※ 実務でまず覚えるならこの7個でOK!
⑤まとめ
- 実務の9割は基本のバリデーションで対応可能
- Laravelなら「短く」「安全に」「簡単に」書ける
- 今日から使ってみよう!
では、また次の記事で〜