问题描述
如标题所述,如何通过Joi验证允许空的Date-String。
添加时:
Date: ""
它得到了问题:message: ""Date" must be a number of milliseconds or valid date string"
具有此 Joi-Validation:
"Date": Joi.date().required().allow("").allow(null).options(validationErrors);
问题:如何通过Joi验证允许一个空的Date-String?
编辑:在添加.required()
,.default("")
Date: ""
或添加Cannot set parameter at row: 1. Wrong input for DATE type
确实会出现另一个错误>
解决方法
您只需从上面的代码中删除require()
。
"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);