【发布时间】:2015-12-07 15:53:44
【问题描述】:
我有一个内置的 js 表单构建器函数,它根据来自外部 json 文件的数据输出表单元素。在 json 数据中,它也是验证规则和消息的数据。
示例数据:
"rows": [
[{
"Name": "FirstName",
"Description": "Enter your name",
"IsRequired": true,
"Datatype": "string",
"Maxlength": 255,
"InputLabel": "Name",
"InputInitialValue": "",
"InputSourceChannel": "constant",
"FieldWidth": 170,
"PlaceholderText": "Joe Blogs",
"ValidationMessage": "Please provide your name"
}]
]
我希望根据子文件中的数据为 jQuery 验证使用的规则和消息生成变量,并根据 json 数据中设置的值有条件地添加验证方法,例如电子邮件、最大长度等。
例如,我想将email: true 方法添加到电子邮件输入字段的规则以及required: true 方法(应该设置)。
示例预期结果
FirstName: {
required: true
},
LastName: {
required: true
},
Title: {
required: true,
max-length: 50
},
Company: {
required: true
},
Email: {
required: true,
email: true
},
Phone: {
required: true,
phone: true
}
演示
http://jsfiddle.net/onebitrocket/6d73jyen/
添加email: true 方法需要一个 if\else 语句 if zDatatype: email` 匹配数组中的一个值。
如果我想添加诸如 maxlength 之类的其他方法,那么额外的 if 语句可能会有些混乱。
有没有办法可以将所有需要的方法连接到一个变量中,然后在对象中调用该变量?
我认为我理解所有条件语句都需要在js之外完成是正确的
谢谢
【问题讨论】:
标签: jquery arrays json validation object