Dcat Admin 表单字段设置默认值时,如果默认值是 null 就会报错后面再加上 required 时就会报错。
比如我们有个需求:如果在部门中创建员工,那么部门下拉框默认值是当前部门,否则显示默认的下拉框。写出的代码如下:
protected function form()
{
return Form::make(new Job(), function (Form $form) {
$form->display('id');
$form->select('user_id')->options('api/users')->required();
$form->select('position_id')->options('api/positions')->required();
$form->select('level_id')->options('api/levels')->required();
$form->select('department_id')->options('api/departments')->default(request()->input('department_id'))->required();
$form->date('begin_date')->required();
$form->date('end_date');
$form->display('created_at');
$form->display('updated_at');
});
}
这段代码在 request()->input('department_id')
有值时可以正常运行,但是如果是 null 时,Dcat Admin 会报错,这是因为:在 Dcat Admin 中设置默认值的 default 方法不能设置为 null,否则就是获取了,解决办法也很简单,就是判断下参数是否是 null,如果是 null 转成空字符串就可以了:
$form->select('department_id')->options('api/departments')->default(request()->input('department_id')??'')->required();
想要了解更多内容,请持续关注码农资源网,一起探索发现编程世界的无限可能!
本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
如有侵权请发送邮件至1943759704@qq.com删除
码农资源网 » Dcat Admin 表单字段同时设置默认值 (default) 为 null 并且 required 时报错的解决办法
本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
如有侵权请发送邮件至1943759704@qq.com删除
码农资源网 » Dcat Admin 表单字段同时设置默认值 (default) 为 null 并且 required 时报错的解决办法