我正在尝试构建一种表单生成器,它允许我以灵活的方式定义、显示和存储“测试”。 IE。允许用户通过 Web 界面创建新类型的测试/表单(“分组”)并定义一组将显示在表单上的字段(任何类型的字段,包括日期、文本、单选框、复选框, ETC)。我还需要一个结果表,用于存储在每个表单/测试中保存的值。
作为一个不充分的例子,到目前为止我有以下 3 个表:
dd_TestGrouping
- TestGroupingID [pk]
- TestGroupingName "Algebra-1"
- TestGroupingTypeID "Math"
dd_TestFields
- TestFieldID [pk]
- TestGroupingID [fk]
- TestFieldName "Circumference"
- TestFieldType "TextBox"
- Sequence
TestResults
- TestResultID [pk]
- TestFieldID [fk]
- value "50"
- Unit "CM"
上述问题 - 如果没有别的 - 我不确定如何动态显示下拉列表和链接的单选框/复选框。另外,我该如何处理验证?
在此先感谢您的帮助/指点。
最佳答案
要包含组合框值,您需要通过如下方式扩展您的模型:
dd_TestFields
- TestFieldID [pk]
- TestGroupingID [fk]
- TestFieldName "Gender"
- TestFieldType "Combo Box"
- Sequence
新表:
dd_TestFieldSelection
- TestFieldSelectioniD [pk]
- TestFieldID [fk]
- TestFieldValue "Female"
- Sequence
我认为验证自然属于您的 dd_TestFields 表:
dd_TestFields
- TestFieldID [pk]
- TestGroupingID [fk]
- TestFieldName "Age"
- TestFieldType "Number/Text Box"
- Sequence
- Required "True"
- MinValue "0"
- MaxValue "150"
这只是一个粗略的草图,但您可以根据需要扩展这些想法。
关于sql - 数据库设计帮助 - EAV + Form builder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4247883/