ラララライッ!ってことで、laravelのパスワード確認入力を実装したいと思います。
まずはblade.phpにこれ!
<div> <label for="password" class="col-md-4 col-form-label text-md-right">パスワード</label> <div class="col-md-6"> <input id="password" type="password" class="form-control @error('password') is-invalid @enderror" name="password" value="" required autocomplete="password" autofocus> @error('password') <span class="invalid-feedback" role="alert"> <strong>{{ $message }}</strong> </span> @enderror </div> </div> <div> <label for="password_confirmation" class="col-md-4 col-form-label text-md-right">パスワード(確認用)</label> <div class="col-md-6"> <input id="password_confirmation" type="password" class="form-control @error('password_confirmation') is-invalid @enderror" name="password_confirmation" value="" required autocomplete="password_confirmation" autofocus> @error('password_confirmation') <span class="invalid-feedback" role="alert"> <strong>{{ $message }}</strong> </span> @enderror </div> </div>
確認用のID名は”_confirmation”を追加してください。今回だと”password_confirmation”
これがわからなかった。。。Omg…
今回は登録で使うので、”app\Requests\StoreUserRequest.php”
を生成&中身はこれ!
<?php namespace App\Http\Requests; use Illuminate\Foundation\Http\FormRequest; class StoreUserRequest extends FormRequest { /** * Determine if the user is authorized to make this request. * * @return bool */ public function authorize() { return true; } /** * Get the validation rules that apply to the request. * * @return array */ public function rules() { return [ 'email' => 'required|string|email:strict,dns|max:255|unique:users', 'name' => 'required|string', 'password' => 'required|string|min:8|confirmed', 'password_confirmation' => 'min:8', ]; } /** * Get custom attributes for validator errors. * * @return array */ public function attributes() { return [ 'email' => 'メールアドレス', 'name' => '名前', 'authority' => '権限', 'password' => 'パスワード', 'password_confirmation' => '確認用パスワード', ]; } }
rulesとattributesを設定
ruleはバリデーションルールでattributesはnameを日本語で紐づけてます。これはエラーの時に
日本語で表示するため。
rulesの”email”と”password”にご注目!
これでちゃんとしたemailしか登録できまへん。
password
- password:confirmed -> これを入れてると、さきほどHTMLで言ってた「_confirmation」これがついてるinputタグと差異がないかチェックしてくれる。
以上です!おおきに!
コメント