laravel バージョン6系
実現したいこと
パスワードフォームの入力でバリデーションに引っかかってリダイレクトしたときに、パスワードフォームは表示・バリデーションメッセージも表示の状態にしたい。
(現在は、初期表示は非表示にしているため、バリデーションエラーでリダイレクトした際にパスワードフォームは非表示になってしまう。)
<div id="password-change-link" class="mb-3"> {{ __('パスワード変更をご希望の場合はこちら') }} </div> <div id="password-change-form" class="form-group"> <label for="password">{{ __('パスワード') }}<span class="badge badge-secondary ml-2">{{ __('任意') }}</span></label> <input type="password" class="form-control{{ $errors->has('password') ? ' is-invalid' : '' }}" id="password" name="password" value=""> @if ($errors->has('password')) <span class="invalid-feedback" role="alert"> {{ $errors->first('password') }} </span> @endif </div>
$(function() { // 「パスワード変更の場合はこちら」リンク押下時、パスワード変更フォームを表示 $('#password-change-link').on('click', function() { $('#password-change-form').show(); }); });
初期表示はパスワードフォームは非表示
div id=”password-change-form”にはdisplay: none;をあてています。
【初期表示】
パスワード変更をご希望の場合はこちら
リンクをクリックすると、以下のようにパスワードフォームを表示
【リンククリック時】
パスワード変更をご希望の場合はこちら
パスワード 任意
パスワードフォーム
試したこと
リクエストされたパスワードでバリデーションエラーが発生したときにフォームを表示・エラー文表示のロジックでいこうと思い、
laravel側で制御しようと思いましたがうまくいきませんでした。
if (isset($request->password)) {
パスワードフォーム
}
あなたの回答
tips
プレビュー