使用 ajv 验证 UTC date/date-time 但允许空字符串
Validate UTC date/date-time with ajv but allow empty strings
我需要验证字符串架构格式:"date"
或格式:"date-time"
以仅接受 ISO 8601 但也允许空字符串“”( "" 要求应使用所需的架构单独检查)。
{
"datetime1": {
"type": "string",
"format": "date-time",
}
}
但是原生的ajv格式解析器是不允许空字符串""通过的。我如何让它允许空字符串,并且仍然验证 ISO 8601?
我真的必须使用 ajv.addFormat()
编写自己的格式检查器吗? "format": "email"
我也有同样的问题,我还需要 "" 才有效。
注意:我无法修改架构,因此无法添加默认值。
让我们尝试使用 oneOf
date_to: {
type: 'string',
oneOf: [
{
maxLength: 0
},
{
format: 'date-time',
minLength: 1
}
]
},
在第一个对象中,它允许空字符串。在第二个对象中,它将根据您的格式检查输入
我需要验证字符串架构格式:"date"
或格式:"date-time"
以仅接受 ISO 8601 但也允许空字符串“”( "" 要求应使用所需的架构单独检查)。
{
"datetime1": {
"type": "string",
"format": "date-time",
}
}
但是原生的ajv格式解析器是不允许空字符串""通过的。我如何让它允许空字符串,并且仍然验证 ISO 8601?
我真的必须使用 ajv.addFormat()
编写自己的格式检查器吗? "format": "email"
我也有同样的问题,我还需要 "" 才有效。
注意:我无法修改架构,因此无法添加默认值。
让我们尝试使用 oneOf
date_to: {
type: 'string',
oneOf: [
{
maxLength: 0
},
{
format: 'date-time',
minLength: 1
}
]
},
在第一个对象中,它允许空字符串。在第二个对象中,它将根据您的格式检查输入