如何 Joi-Allow 一个空的日期字符串 [Joi]
How to Joi-Allow an empty Date String [Joi]
如标题所述,如何通过 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?
EDIT:通过删除:.required()
和/或添加 .default("")
我在添加 Date: ""
、[=17 时确实遇到了另一个错误=]
您可以简单地从上面的代码中删除 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);
如标题所述,如何通过 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?
EDIT:通过删除:.required()
和/或添加 .default("")
我在添加 Date: ""
、[=17 时确实遇到了另一个错误=]
您可以简单地从上面的代码中删除 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);