验证包含日期的Javascript对象
Validating Javascript Objects containing dates
验证包含日期字段的JavaScript对象的良好实践是什么?
有像tv4这样的JSON验证器可以验证字符串的格式。
但是,我们的业务逻辑使用实例JavaScript-Date的日期,这些对象将无法验证。
当前程序是
- 读取业务对象与JSON.parse()使用一个日期回收器
- 用业务逻辑处理对象,然后用 验证
- 使用日期字符串将对象转换为JSON
- 使用JSON.parse()读取字符串,现在没有reviver
- 验证此对象
是否有更好的方法来验证与步骤3、4和5相反?最好直接验证业务对象?
的例子:
JSON字符串
{
"birth": "1994-03-17"
}
JSON字符串
的Schema{
type: 'string',
format: 'date-time'
}
业务对象
{
birth: new Date("1994-03-17")
}
如果您使用的是tv4库,您可以这样做:
tv4.addFormat('date-time', function (data) {
if (data instaceof Date) return null;
else return "not a valid date";
});
,你的验证应该是:
{
type: "object",
format: "date-time"
}
这个方法是在你发布的问题中提到的(json schema date-time不正确检查)
相关文章:
- Chrome开发工具(如何知道我在调用哪个javascript对象)
- 循环遍历以数组为值的Javascript对象
- 从ajax请求中获取javascript对象
- 如何从对象的原型方法访问JavaScript对象属性
- 将XML转换为普通的旧JavaScript对象
- 通过引用传递JavaScript对象
- javascript对象操作:根据指定条件选择属性
- Javascript对象类在单击时打开窗口进行颜色选择,并在更改时替换对象背景颜色
- 如何在异步函数中使用javascript对象
- 临时Javascript对象
- 如何在ASP中为用户控件添加Javascript对象网
- 使用数组向下搜索Javascript对象
- Rails将JavaScript对象存储到Model的有效方式
- JavaScript对象不是从原型链继承的
- 如何创建具有默认值的JavaScript对象字段?(AngularJS模型相关)
- SetInterval在javascript对象中表现怪异
- Javascript 对象和 this 关键字
- 如何在不知道关键字的情况下访问javascript对象值
- 在 JavaScript 对象中设置要使用的运算符的属性
- 如何搜索JavaScript对象并更改值