为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 register.blade.php laravel 中验证和插入多个复选框的数据?

如何在 register.blade.php laravel 中验证和插入多个复选框的数据?

PHP
眼眸繁星 2022-10-14 10:32:38
我在 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">                                            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;                                            <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.phpprotected $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 输入应该会更好,因为只能选择一个输入。


查看完整回答
反对 回复 2022-10-14
  • 1 回答
  • 0 关注
  • 100 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号