我的mongodb架构中有phone
字段,类型为Number
phone:{
type:Number,
required:[true,"Phone Number required"]
}
如果电话号码包含数字以外的字符,则会抛出默认错误消息
Cast to Array failed for value \"887878jjk\" at path \"phone\
但我想自定义此错误消息,如"仅允许数字"我从mogoose doc找到的一个解决方案是为此编写一个自定义验证器
validate: {
validator: function(v) {
return /\d{3}-\d{3}-\d{4}/.test(v);
},
message: '{VALUE} is not a valid phone number!'
},
但是没有使用自定义验证器还有其他解决方案吗?
答案 0 :(得分:0)
您必须在模型架构上执行此操作:
phone: {
type: String,
validate: {
validator: function(v) {
return /\d{3}-\d{3}-\d{4}/.test(v);
},
message: props => `${props.value} is not a valid phone number!`
},
required:[true,"Phone Number required"]
希望有帮助。