我在 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 关注
- 100 浏览
添加回答
举报
0/150
提交
取消