前提・実現したいこと
numberカラムと、emailカラムはテーブルにユニークキーが付いていますが、
編集画面でそのユーザidを所持している人が更新している場合は重複して上書き可能にしたいです。
なんとかエラー表示は無くなったのですが、今度はバリデーションで弾かれてしまいます。
原因は何なのでしょうか・・・おわかりでしたらご教授下さい
発生している問題・エラーメッセージ
バリデーションが発動して「2は必須です。というエラーが表示されます。」
該当のソースコード
laravel(PHP)
1**Controller** 2 3 public function update(Request $request, $id) 4 { 5 $user = User::find($id); 6 $user_id = $user->id; 7 8 /* validate */ 9 $request->validate([ 10 'number' => 'required','max:2',Rule::unique('users')->ignore($user_id), 11 'first_name' => 'required', 12 'last_name' => 'required', 13 'email' => 'email','required',Rule::unique('users')->ignore($user_id), 14 ]); 15 16**view:edit** 17 18 <form id="basic-form" method="post" action="{{route('authentication.update', ['id' => $user->id])}}"> 19 @csrf 20 @method('PUT') 21 <div class="row"> 22 <div class="col-sm-6"> 23 <div class="form-group"> 24 <h6>基本情報</h6> 25 <input type="tel" class="form-control" name="number" maxlength="2" min="0" max="99" value="{{ $user->number }}" required placeholder="番号(2桁)"> 26 </div> 27 28 <div class="form-group"> 29 <input type="text" class="form-control" name="first_name" maxlength="10" value="{{ $user->first_name }}" required placeholder="性"> 30 </div> 31 32 <div class="form-group"> 33 <input type="text" class="form-control" name="last_name" maxlength="10" value="{{ $user->last_name }}" required placeholder="名"> 34 </div> 35 36 <div class="form-group"> 37 <input type="email" class="form-control" name="email" value="{{ $user->email }}" required placeholder="メールアドレス"> 38 </div> 39
試したこと
この状態で編集フォームを開くと、ビューにはデータベースの中身が表示され編集ができる状態になっています。
ですが数字を変更、変更しないにかかわらずsubmitを押すと2は必須です。というエラーが表示されてしまいます
原因は何なのでしょうか
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/05/21 12:29