限制 mongo 模式中的数字
Posted
技术标签:
【中文标题】限制 mongo 模式中的数字【英文标题】:Restricting numbers in mongo schema 【发布时间】:2019-03-12 13:32:10 【问题描述】:我的 mongoose 模型中有一个用于账单的“到期”字段。该字段表示一个月中的某一天,一个从 1 到 31 的数字。
如何更改此验证以防止接受高于 31 的数字?
due:
type: Number,
required: true,
validate:
validator: function (v)
return /^(3[01]|[12][0-9]|[1-9])/.test(v)
,
message: props => `$(props.value) is not a valid calendar day`
【问题讨论】:
【参考方案1】:您的regex
无效。如果您输入 33
,它仍然会匹配第一个 3
等。
试试:/(1|2)([0-9])|(3)(0|1)|^([0-9])1$/.test(v)
due:
type: Number,
required: true,
validate:
validator: function (v)
return /(1|2)([0-9])|(3)(0|1)|^([0-9])1$/.test(v)
,
message: props => `$(props.value) is not a valid calendar day`
您可以test the regEx here,也可以查看详细说明。
【讨论】:
以上是关于限制 mongo 模式中的数字的主要内容,如果未能解决你的问题,请参考以下文章