正如标题所述,如何通过Join验证允许空的日期字符串。
添加时:
Date: ""
得到问题:message: ""Date" must be a number of milliseconds or valid date string"
使用此Join验证:
"Date": Joi.date().required().allow("").allow(null).options(validationErrors);
问题:如何通过Join验证允许空日期字符串?
编辑:通过删除:.required()
和/或添加.default("")
,当添加Date: ""
、Cannot set parameter at row: 1. Wrong input for DATE type
时,我会得到另一个错误
您可以简单地从上面的代码中删除required()
。
"Date": Joi.date().allow("").allow(null).options(validationErrors);
有效:new Date()
或""
(空字符串(
joi
版本17.2.1
const joi = require('joi');
const schema = joi.object().keys({
"Date": joi.alternatives([
joi.date(),
joi.string().valid('')
]).required()
}).required();
// success
const value = {
"Date": "",
};
// success
const value = {
"Date": new Date(),
};
// error
const value = {
"Date": null,
};
// error
const value = {
};
// error
const value = {
"Date": "invalid string"
};
const report = schema.validate(value);
console.log(report.error);