限制 mongo 模式中的数字
Restricting numbers in mongo schema
我的猫鼬账单模型中有一个 "due" 字段。该字段代表一个月中的某一天,一个从 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`
}
}
您的 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也可以看到详细的解释。
我的猫鼬账单模型中有一个 "due" 字段。该字段代表一个月中的某一天,一个从 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`
}
}
您的 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也可以看到详细的解释。