在創建集合規則時,可以設置當前字段的驗證規則,驗證失敗則輸出錯誤提示信息。
- 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, '此項為必填內容']
}
其中 數組中的第一個參數為驗證規則,第二個參數為錯誤提示信息。
