data-form, data-validate, data-lang
コメント記法
data-formで指定したフォーム部品で入力した値が、data-validateで指定した条件を満たしているかをLaravelのバリデーと機能を使って検証します。data-langでエラーメッセージを設定します。data-langがない時は、Laravelのエラーメッセージを表示します。
Example
/resources/views/example.blocs.html
8行目 HTML5でバリデーションを指定
9行目 コメント記法で記述
11行目 Bladeでエラーメッセージを表示
<html>
<span data-val=$name>名前</span>
<form method="post">
@csrf
<label for='name'>名前</label>
<input type='text' name='name' data-filter='katakana' required />
<!-- data-form="name" data-validate="required" data-lang="必須入力です。" -->
@error('name') <div>{{ $message }}</div> @enderror
<input type='submit' />
</form>
</html>
省略記法が使えます。
<html>
<span data-val=$name>名前</span>
<form method="post">
@csrf
<label for='name'>名前</label>
<input type='text' name='name' data-filter='katakana' required />
<!-- !name="required" data-lang="必須入力です。" -->
@error('name') <div>{{ $message }}</div> @enderror
<input type='submit' />
</form>
</html>
/routes/web.php
8行目 バリデーション設定を取得
9行目 バリデーション
use Illuminate\Http\Request;
Route::get('/blocs', function () {
return view('example');
});
Route::post('/blocs', function (Request $request) {
list($validate, $message) = \Blocs\Validate::get('example', $request);
empty($validate) || $request->validate($validate, $message);
return view('example', $request->all());
});
<html>
<span>名前</span>
<form method="post">
<input type="hidden" name="_token" value="eSkvQ8hOiXkYZsWycvX2Wj64z8g3lULzZpnqVCSw">
<label for='name'>名前</label>
<input type='text' name='name' required value="" />
<div>必須入力です。</div>
<input type='submit' />
</form>
</html>