【发布时间】:2020-04-18 12:12:51
【问题描述】:
我为我的应用程序中最常见的场景创建了自定义通用验证函数,例如电子邮件验证、电话号码验证和日期/时间验证。
时间验证(HH:MM 格式):
validateTime: (time) => {
return [new RegExp(HHMM_TIME_FORMAT).test(time), 'Wrong time format. Expected hh:mm']
}
在模型中的使用:
...
visitHourStart: {
type: String,
validate: modelValidator.validateTime
}
...
给定VisitHourStart 值:x08:30x,
validateTime 返回 false - 这是一种很好的行为,但它不会在给定消息时抛出错误。文档正在以错误的时间保存到数据库。
如何告诉我的模型在验证失败时抛出错误?
EDIT1:
将validate: modelValidator.validateTime 更改为
validate: {
validator: time => new RegExp(HHMM_TIME_FORMAT).test(time),
message: 'Wrong time format. Expected hh:mm'
}
内部架构不起作用,仍然没有抛出错误并保存文档。
【问题讨论】:
标签: javascript node.js mongodb validation mongoose