如何使laravel中的动态表单字段可填写

Posted

技术标签:

【中文标题】如何使laravel中的动态表单字段可填写【英文标题】:How to make dynamic form fields in laravel fillable 【发布时间】:2015-10-02 22:13:58 【问题描述】:

我正在使用 Laravel 5。

问题是我必须使用 jquery 将字段动态添加到表单中,然后提交表单。

Laravel 要求所有表单变量都需要在模型中填写。 所以问题是我怎样才能使这个动态字段可填充?谁能帮我解决这个问题?

谢谢

【问题讨论】:

【参考方案1】:

使用$guarded 而不是$fillable。这与$fillable 基本上相反:guarded 不是说“您只能填写这些字段”,而是说“您可以填写任何字段这些”。

This answer 举个例子。

【讨论】:

【参考方案2】:

您可以使用以下构造:

Model::unguard();
$data = $request->except(['_token']);
$model = Model::create($data);
Model::reguard();

但请注意修改后的请求 - 用户可以将值发送到您不想设置的字段。有关保护的更多信息,您可以在 laravel 文档中阅读: https://laravel.com/docs/5.1/eloquent#mass-assignment

【讨论】:

以上是关于如何使laravel中的动态表单字段可填写的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 表单请求动态字段在重定向时消失

如何使动态或生成的 HTML 页面可保存?

使用 jQuery 动态填写表单值

动态添加/删除多个输入字段和输入行 PHP(动态表单中的动态表单)

如何创建不属于表/表单的字段影响选项选择的动态表单

如何创建“动态”表单 - 并在两个字段中存储数据和表单设计