我有一个包含一个或多个类型为日期的属性的对象。我想使用ajv json schema验证器包来验证该对象。 我可以通过使用toISOString()将类型为日期的属性转换为字符串。但是,该对象可能非常大,因此我不想转换整个对象的所有日期属性。 除将日期转换为字符串外,还有其他解决方案吗? 我是否可以创建自定义ajv模式验证器?
// My example schema
const schema = {
"properties": {
"createdAt": {
"type": "string",
"format": "date-time"
},
"lastName": { "type": "string" },
"firstName": { "type": "string" }
}
};
// My example testobject
const testObj = {
createdAt: new Date(),
lastName: "Doe",
firstName: "John"
}
// The validation
const validate = ajv.compile(schema);
const valid = validate(testObj);
if(!valid) console.log('Invalid: ' + ajv.errorsText(validate.errors));
这将执行一个控制台日志,因为testObj.createdAt是一个日期而不是字符串。