前期准备
const mongoose = require('mongoose')
const Schema = mongoose.Schema
mongoose.connect('mongodb://localhost/test', {
useNewUrlParser: true,
useUnifiedTopology: true
}).then(() => {
console.log('连接数据库成功')
}).catch(() => {
console.log('连接数据库失败')
})
const userSchema = new Schema({
})
required 验证字段是否为必须输入,值为boolean
name:{
type:String,
required:[true,'该字段为必选字段'],
}
minlength,maxlength 验证字符的值的最⼩⻓度和最⼤⻓度
name:{
type:String,
required:[true,'该字段为必选字段'],
minlength:[2,'输⼊值⻓度⼩于最⼩⻓度'],
maxlength:[6,'输⼊值⻓度⼤于最⼤⻓度'],
}
trim 去除字符串⾸尾空格,值为boolean
name:{
type:String,
required:[true,'该字段为必选字段'],
minlength:[2,'输⼊值⻓度⼩于最⼩⻓度'],
maxlength:[6,'输⼊值⻓度⼤于最⼤⻓度'],
trim:true
}
min、max 验证最小最大数字
age:{
type:Number,
min:18,
max:30
}
default 默认值
createTime:{
type:Date,
default:Date.now
}
enum 规定输入的值
hobbies:{
type:String,
enum:{
values:['唱','跳','Rap'],
message:'该值不在设定的值当中'
}
},
validate 根据自定义条件验证,通过validator函数处理输入值,message为自定义错误信息
validate:{
validator:v => {
}
}
score:{
type:Number,
validate:{
validator:v => {
return v&&v>0&&v<100
},
message:'不是有效的分数'
}
}
通过catch获取errors对象,遍历对象从中获取对应字段自定义报错信息
Modal.create().then().catch(error => {
const errs = error.errors;
for(var i in errs ){
console.log(err[i].message)
}
})