【发布时间】:2019-05-23 01:07:12
【问题描述】:
我正在尝试制作一个可用于 INSERT 和 UPDATE 的部分表单。我被困在填充复选框上。这是我所拥有的:
<input type="checkbox" id="Paid" value="1" name="Paid"
{{ (old('Paid') ?? $invoice->Paid ?? false) ? 'checked' : '' }} />
它适用于首次在新记录和更新上加载表单时。问题是当用户在编辑记录时取消选中该框但表单上的其他内容验证失败。当表单在验证失败后加载时,再次选中未选中的框。 $invoice->Paid 中的数据库值已加载,因为 old() 返回 false。
【问题讨论】:
-
当您使用复选框进行创建和更新时,如果返回的数据来自旧输入或数据库值。为了实现这一点,您可以简单地通过 JS 应用 onclick 事件,并在每次有人选中/取消选中(onchange 事件)时更改隐藏字段的值。您稍后可以根据该隐藏字段的值验证 old 的存在:) 完全是我的意见.. 如果有人知道得更好... 继续... 回答 :)
标签: php laravel laravel-5 blade