Laravel:使用old()处理未选中的复选框

问题描述 投票:2回答:1

当我取消选中复选框并且验证失败时,我希望该复选框保持未选中状态,而是检查它。

我的复选框:

<input type="checkbox" name="member"
  {{ ($mode == 'edit' && $user->member == 1) ? 'checked' : '' }}
  {{ (old('member') == 'on') ? 'checked' : '' }} />

在我编辑表单然后填充表单字段时,从控制器传递$mode == 'edit'以确定原因。

看来当取消选中复选框时,相对的old()不存在。

我在Stack上尝试了很多解决方案,但都没有。注意:我正在使用Laravel 5.6

laravel laravel-5 blade laravel-blade laravel-5.6
1个回答
0
投票

将其更改为

<input type="checkbox" name="member" {{ (($mode == 'edit' && $user->member == 1) || old('member')) ? 'checked' : null }} />
© www.soinside.com 2019 - 2024. All rights reserved.