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