我的猫鼬模型中有一个“到期”字段,用于支付帐单。该字段代表一个月中的某一天,是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`
}
}
答案 0 :(得分: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并同时查看详细说明。