我们有一个包含多个表单的Web应用程序,其中大部分都有几十个字段。现在我们使用在表单中输入的数据创建json对象,并将这些对象发送到REST服务,然后将这些数据保存到NoSQL数据库(MongoDB)中。
目前,我们使用jquery-validator在客户端执行验证。但是,我们需要使用相同的JSONSchema验证数据(在客户端和服务器端)。
有没有办法使用jquery-validate(或其他类似的插件)来做到这一点?我想也许有办法用JSONSchema文件替换为jquery-validate定义的“规则”。
我尝试使用“Alpaca”,它可以使用JSONSchema生成和验证表单,但我遇到的问题是它无法处理嵌套的json对象,我有很多,它似乎只适用于简单的json结构。
非常感谢任何帮助。
更新
假设我有以下jquery-validate规则(出于示例目的而相当简单):
$('#formId').validate({
rules: {
firstField: {
required: true
},
secondField: {
required: true,
maxlength: 80
}
}
});
我有以下JSONSchema文件:
{
"$schema": "http://json-schema.org/draft-03/schema#",
"type": "object",
"additionalProperties": false,
"description": "MyJsonSchema",
"properties": {
"firstField": {
"description": "some text here",
"type": "string",
"maxLength": 15,
"required": true
},
"secondField": {
"description": "some text here",
"type": "string",
"maxLength": 80,
"required": true
}
}
}
我想要做的是找到一种方法来替换jquery-validate插件中的“规则”,而只是读取JSONSchema属性,这样我就可以在JSONSchema文件中获得所有表单的验证规则(我可以用于客户端和服务器端验证),而不是为每个表单编写规则。
有没有办法做到这一点?
正如我之前所说,使用像AlpacaJS这样的东西你可以从JSONSchema文件中渲染和验证表格,但是我无法使用更复杂的json结构的羊驼。