Laravel - 创建具有不同字段的动态表单

时间:2017-06-05 14:31:15

标签: php mysql mongodb forms laravel

有没有办法使用Laravel和MySQL创建动态表单?我正在尝试构建一个表单,向其添加不同的字段和输入类型,例如:

  1. 文本框,文本区域
  2. 单选按钮
  3. 复选框
  4. 文件上传
  5. 等等。我在想类似重力形式的东西。用户可以通过声明哪些字段是必填字段,可选字段或不可用字段来自定义表单。

    我到目前为止所做的是通常在数据库中创建字段,让另一个表负责其状态为强制,可选或关闭,然后相应地显示它们。

    这通常没有任何问题。但是,我试图通过定义某种通用方法来创建未来的表单,而不需要为数据库中的每个创建一个字段,从而使其更具动态性。请记住,现在的字段只是文本框。

    MySQL会帮助做这样的表格,还是需要使用像MongoDB这样的东西?

1 个答案:

答案 0 :(得分:0)

MySQL的本质是静态的:你持久存储东西; - )

如果我说得对,你希望用户创建一个表单,使用可以包含任意数量输入和类型的表单,然后将其存储起来供以后使用。

我的建议:使用VueJS作为动态表格 - 它非常适合这样的事情!然后,当用户创建表单时,将完整的HTML保存为单个列中的转义blob / text 使用保存所有选定选项的自定义JS对象。像这样:

{
    field1: {
        type: text,
        placeholder: name,
        value: '',
    },
    field2: {
        type: textarea,
        placeholder: 'address',
        style: 'width: 50%'
    }
}

通过这种方式,它很容易检索和使用(一种重力形式)+通过一些工作,您甚至可以将它再次加载到您的自定义VueJS表单向导中,以便用户以后可以对其进行编辑。 / p>