Laravelで指定されたDBテーブルにレコードが存在するかバリデーションチェックする


Laravelで指定されたDBテーブルにレコードが存在しているかバリデーションチェックする方法をシェアします。

以下の例では、リクエストのzip_codeというフィールドが、空ではないか、usersというテーブルにレコードが存在しているかどうか、を判定し、条件を満たさない場合、それぞれのエラーメッセージを指定しています。

$request->validate(
	[
		'zip_code' =>['required','exists:users']
	],
	[
                'zip_code.required' => 'zip_codeは入力必須です',
                'zip_code.exists' => '入力したzip_codeが見つかりません',
	]
);

以上、参考になりましたらうれしいです。

参考

https://readouble.com/laravel/6.x/ja/validation.html#rule-exists