当我取消选中复选框并且验证失败时,我希望该复选框保持未选中状态,而是检查它。
我的复选框:
<input type="checkbox" name="member"
{{ ($mode == 'edit' && $user->member == 1) ? 'checked' : '' }}
{{ (old('member') == 'on') ? 'checked' : '' }} />
在我编辑表单然后填充表单字段时,从控制器传递$mode == 'edit'
以确定原因。
看来当取消选中复选框时,相对的old()
不存在。
我在Stack上尝试了很多解决方案,但都没有。注意:我正在使用Laravel 5.6
将其更改为
<input type="checkbox" name="member" {{ (($mode == 'edit' && $user->member == 1) || old('member')) ? 'checked' : null }} />