【发布时间】:2014-09-08 11:10:25
【问题描述】:
验证包含日期字段的 JavaScript 对象的最佳做法是什么?
有像 tv4 这样的 JSON 验证器可以validate the format of strings。
但是,我们的业务逻辑适用于 JavaScript-Date 实例的日期,并且这些对象不会验证。
我们目前的程序是
- 使用 date reviver 使用 JSON.parse() 读取 business 对象
- 使用业务逻辑处理对象,然后使用验证
- 使用date stringifier 将对象转换为 JSON
- 用 JSON.parse() 读回字符串,现在没有 reviver
- 验证此对象
相对于步骤 3、4 和 5,是否有更好的验证方法? 最好直接验证 business 对象?
例子:
JSON 字符串
{
"birth": "1994-03-17"
}
JSON 字符串的架构
{
type: 'string',
format: 'date-time'
}
企业对象
{
birth: new Date("1994-03-17")
}
【问题讨论】:
-
if(businessobject['birth'] instanceof Date)
-
是的,这是验证器应该做的。除了验证大量其他非日期字段。
标签: javascript json validation jsonschema