在创建集合规则时,可以设置当前字段的验证规则,验证失败则输出错误提示信息。
- required: true 必传字段
- minlength: 2 字符串最小长度
- maxlength 10 字符串最大长度
- min: 10 数值最小值
- max: 100 数值最大值
- enum: ['html','css','javascript'] 枚举,列出当前可以拥有的字段
- trim: true 去除字符前后两边的空格
- validate: 自定义验证器
- default: 默认值
const postSchema = new mongoose.Schema({
title: {
type: String,
required: true,
minlength: 2,
maxlength: 6,
trim: true,
min: 10,
max: 100
},
publishDate: {
type: Date,
default: Date.now,
validate: v => {
// 返回布尔值
// true 验证成功
// false 验证失败
// v 要验证的值
return v && v.length > 4
},
message: '你输入的内容不符合'
}
})
验证规则可以一个参数,也可以是多个参数的数组
例如:
// 设定集合规则
const PostSchema = new mongoose.Schema({
title: {
type: String,
minlength: [4, '最小长度为4'],
maxlength: [30, '最大长度为30'],
trim: true,
required: [true, '此项为必填内容']
}
其中 数组中的第一个参数为验证规则,第二个参数为错误提示信息。