安全

Resources

保护模型属性

Filament 会暴露所有模型属性给 Javascript,除非在模型中使用 $hidden 对其隐藏。这是 Livewire 模型绑定行为。我们保留了这一功能,使得在保留所需数据的同时,可以方便在表单初始化载入后动态增加或删除表单字段。

由于属性在 Javascript 中可见,只有表单中的字段是用户可编辑的。因此对批量赋值而言,这不是个问题。

要在编辑和查看页面中,从 Javascript 中移除特定属性,你可以重写mutateFromDataBeforeFill() 方法:

protected function mutateFormDataBeforeFill(array $data): array
{
unset($data['is_admin']);
 
return $data;
}

上例中,我们从 Javascript 中删除了 is_admin 属性,因为表单中没有使用到这一字段。

需要帮助? 加入论坛 或者打开 GitHub讨论

喜欢Filament?

Filament 中文文档由 laravel-filament.cn 翻译整理。站长用爱发电,希望为英文阅读不畅的朋友提供快速掌握Filament框架的途径。文档的翻译,社区的运营维护都需要时间精力上的付出。如果文档社区使你受益,如果你想支持站长...

打赏