我在 register.blade.php 文件中添加了 2 個復選框輸入。我希望其中一個是必需的,即用戶必須選擇一個或另一個,否則我想顯示某種錯誤消息,例如“這些字段不能為空”。我嘗試在兩個輸入字段上添加一個名為 role_id[] 的數組。我還在第一個輸入上添加了 value="1",在第二個輸入上添加了 value="2",因為我希望 1 或 2 進入我的用戶表到名為 role_id 的列中,因為我已經創建了一個角色表有 2 條記錄,1 是求職者,2 是雇主,顯然這里有關系。因此,基本上,如果用戶選擇第一個輸入“我是求職者”,其值為 1,則 1 將進入數據庫用戶表中的 role_id 列,復選框 2 的想法相同“RegisterController.php 文件:protected function validator(array $data) { return Validator::make($data, [ 'name' => ['required', 'string', 'max:255'], 'email' => ['required', 'string', 'email', 'max:255', 'unique:users'], 'password' => ['required', 'string', 'min:8', 'confirmed'], 'role_id' => ['required'], ]); } protected function create(array $data) { return User::create([ 'name' => $data['name'], 'email' => $data['email'], 'password' => Hash::make($data['password']), 'role_id' => $data['role_id'], ]); }register.blade.php 文件:<div class="form-group row"> <div class="col-md-8 offset-md-2 text-md-right"> <div class="form-check form-check-inline"> <input class="form-check-input" type="checkbox" name="role_id[]" id="job-seeker" value="1"> <label class="form-check-label" for="job-seeker">I'm a Job Seeker</label> </div> <div class="form-check form-check-inline"> <input class="form-check-input" type="checkbox" name="role_id[]" id="employer" value="2"> <label class="form-check-label" for="employer">I'm an Employer</label> </div> </div> </div>
1 回答

白衣非少年
TA貢獻1155條經驗 獲得超0個贊
嗨用戶模型默認情況下不附帶role_id
。您應該編輯App\User.php
并protected $fillable
添加'role_id'
.
再試一次。這次的值rule_id
應該由模型大量分配給數據庫。
編輯#1:在表格中,使用:
<input class="form-check-input" type="checkbox" name="role_id" value="1"> <input class="form-check-input" type="checkbox" name="role_id" value="2">
如果只需要傳遞 1 個值,則不需要數組。順便說一句,RADIO 輸入應該會更好,因為只能選擇一個輸入。
- 1 回答
- 0 關注
- 88 瀏覽
添加回答
舉報
0/150
提交
取消