app/Http/Controllers/ValidationController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class ValidationController extends Controller
{
// 入力画面を表示。
public function show(Request $request) {
return view('vtest');
}
// アクション。
public function post(Request $request) {
$validated = $request -> validate([
'txtMailAddress' => 'required | email:filter',
'emailMailAddress' => 'required | email',
]);
return view('vtestResult')
->with('txtMailAddress', $validated['txtMailAddress'])
->with('emailMailAddress', $validated['emailMailAddress']);
}
}
resources/views/vtest.blade.php
oldヘルパ関数で前回の入力値を取得できる。
$errors->get(‘nameの値’)で、バリデーションエラーの内容を確認できる。
<html>
<head>
<title>vtest</title>
</head>
<body>
<form method="post" action="{{route('vpost')}}">
@csrf
タイプ:text : <input type="text" name="txtMailAddress"><br>
タイプ:email : <input type="email" name="emailMailAddress"><br>
<input type="submit" value="送信">
</form>
<hr>
バリデーションエラーの結果<br>
text : {{var_dump($errors -> get('txtMailAddress'))}}<br>
email : {{var_dump($errors -> get('emailMailAddress'))}}<br>
oldヘルパ関数(txtMailAddress):{{old('txtMailAddress')}}<br>
oldヘルパ関数(emailMailAddress):{{old('emailMailAddress')}}<br>
</body>
</html>
resources/views/vtestResult.blade.php
<html>
<head>
<title>vtestResult</title>
</head>
<body>
結果<br>
text : {{$txtMailAddress}}<br>
emai : {{$emailMailAddress}}<br>
</body>
</html>
routes/web.php
use App\Http\Controllers\ValidationController;
// バリデーションテスト用フォーム表示。
Route::get('/vtest', [ValidationController::class, 'show']) -> name('vtest');
// バリデーションテスト用フォームのアクション。
Route::post('/vtest', [ValidationController::class, 'post']) -> name('vpost');