- ルールの作成と使用
まず、バリデーションルールを定義する必要があります。Laravelでは、バリデーションルールを作成するためにバリデーションクラスやリクエストクラスを使用することが一般的です。
例えば、以下のようなバリデーションルールを作成することができます:
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class MyFormRequest extends FormRequest
{
public function rules()
{
return [
'name' => 'required|max:255',
'email' => 'required|email',
'password' => 'required|min:8',
];
}
}
上記の例では、'name'、'email'、'password'というフィールドが必須であり、特定のバリデーションルール(例:最大文字数、メール形式、最小文字数)が適用されます。
- バリデーションの実行
次に、バリデーションを実行する必要があります。Laravelでは、コントローラ内でバリデーションを実行することが一般的です。
例えば、以下のようなコードでバリデーションを実行できます:
<?php
namespace App\Http\Controllers;
use App\Http\Requests\MyFormRequest;
use Illuminate\Http\Request;
class MyController extends Controller
{
public function store(MyFormRequest $request)
{
// バリデーションが成功した場合の処理
// ...
}
}
上記の例では、store
メソッドにMyFormRequest
クラスのインスタンスを引数として渡しています。Laravelは自動的にバリデーションを実行し、バリデーションが失敗した場合はエラーレスポンスを返します。
- エラーメッセージの取得と表示
バリデーションが失敗した場合、エラーメッセージを取得してユーザーに表示する必要があります。Laravelでは、バリデーションエラーメッセージを簡単に取得できます。
例えば、以下のようなコードでエラーメッセージを取得できます:
<?php
$errors = $validator->errors();
上記の例では、$validator
はバリデーションを実行した結果を格納した変数です。エラーメッセージは$errors
変数から取得できます。
これらは、Laravel APIを使用したフォームのバリデーションの基本的な手法です。さまざまなバリデーションルールやカスタムルールを追加することも可能です。Laravelの公式ドキュメントには、さらに詳細な情報が記載されていますので、参考にしてください。