確認用入力した値(cinfirm_my_number)が入力した個人番号(my_number)と一致しない時にバリデーションメッセージを表示させる。
vueファイル
<div>
<TextInput
id="my_number" //ここの入力値と
type="text"
class="mt-1 block w-full"
v-model="form.my_number"
required
autocomplete="my_number"
/>
<InputError class="mt-2" :message="form.errors.my_number" />
</div>
<div>
<TextInput
id="confirm_my_number" //ここの入力値が一致しているか
type="text"
class="mt-1 block w-full"
v-model="form.confirm_my_number"
required
autocomplete="confirm_my_number"
/>
// 以下に設定したエラーメッセージが表示される <InputError class="mt-2" :message="form.errors.confirm_my_number" />
</div>
↓
「一致確認のルールを設定するファイル」を作成するコマンド
php artisan make:rule MatchMyNumber(ファイル名)
↓
/app/Rules/MatchMyNumber.php作成される
↓
{
$otherValue = request()->input('my_number'); // $otheValueにmy_numberを代入
$fail('確認用は個人番号と一致している必要があります。'); // 表示させたいメッセージ
}
}
↓
リクエストファイルに
{
return [
'my_number' => ['max:12'],
'confirm_my_number' => ['max:12' , new MatchMyNumber], // new ファイル名で設定
];
}
※リクエストファイルの
'confirm_my_number' => ['max:12', new MatchMyNumber],
で'confirm_my_number'がMatchNumberファイルのフィールド名(要はname)として設定されてて、そのフィールドに入力されたものが、ルールファイルで$valueにセットされている。