- バリデーションルールを使用する方法:
まず、ルートやコントローラーでリクエストを受け取る前に、バリデーションルールを定義する必要があります。たとえば、以下のようなルールを定義できます。
public function rules()
{
return [
'name' => 'required',
'email' => 'required|email',
'message' => 'required',
];
}
上記の例では、name
、email
、message
のフィールドが必須であり、email
フィールドは有効なメールアドレスである必要があります。
次に、コントローラーでリクエストを受け取るメソッドを作成します。以下は例です。
public function store(Request $request)
{
$validatedData = $request->validate([
'name' => 'required',
'email' => 'required|email',
'message' => 'required',
]);
// バリデーションが成功した場合の処理
}
上記の例では、validate
メソッドを使用してリクエストのデータをバリデーションしています。バリデーションが成功した場合、$validatedData
にはバリデーション済みのデータが格納されます。
- フォームリクエストクラスを使用する方法:
別の方法として、フォームリクエストクラスを作成してバリデーションルールを定義することもできます。
まず、以下のコマンドを使用してフォームリクエストクラスを生成します。
php artisan make:request ContactFormRequest
上記の例では、ContactFormRequest
という名前のフォームリクエストクラスが生成されます。
次に、生成されたフォームリクエストクラス内でバリデーションルールを定義します。以下は例です。
public function rules()
{
return [
'name' => 'required',
'email' => 'required|email',
'message' => 'required',
];
}
最後に、コントローラーでフォームリクエストクラスを使用してバリデーションを行います。以下は例です。
public function store(ContactFormRequest $request)
{
// バリデーションが成功した場合の処理
}
上記の例では、ContactFormRequest
を型指定して引数として受け取ることで、バリデーションが自動的に行われます。
これらの方法を使用することで、Laravelでメールフォームのリクエストをバリデーションすることができます。適切なバリデーションルールを定義することで、入力データの妥当性を確認し、必要な処理を行うことができます。