mongoose 验证
- required:true
- unique: true // 保证当前字段不重复(唯一的)
- maxlength / minlength
- min / max
- enum:[“a”,“b”,“c”]
enum还有一个可以自定义提示信息的写法:
enum:{
value:["a","b","c"],
message:"自定义信息"
}
- trim:true
- validate
- default
在创建集合规则时,可以设置当前字段的验证规则,验证失败则输入插入失败
验证规则的值基本上都可以用数组的形式:[值,“提示信息”]
1、字符串 - required:true (必传字段)值可以是bool值,也可以是数组,值为数组时下标为0的值是bool值,为1的是提示信息
const mongoose = require("mongoose");
// 连接数据库
mongoose.connect("mongodb://localhost/playground").then(() => {
console.log("连接成功")
}).catch(e => {
console.log("连接失败",e);
})
// 创建集合规则
const postSchema = new mongoose.Schema({
name:{
type:String,
// 值为bool值
// required:true
// 值为数组
requied:[true,"请输入标题"]
}
})
// 创建集合
const Post = mongoose.model("Post",postSchema);
Post.create({}).then(res => {
console.log(res)
}).catch(e => {
// 报错
console.log(e)
)
- minlength:number / maxlength:number 最小长度和最大长度限制
minlength:[number,“提示信息”] / maxlength:[number,“提示信息”] - trim:true 清空字符串两边的空格
2、Number
- min/max 最小值/最大值
3、Date
- defaut: Date.now 默认值是当前时间
4、enum:[“s1”,“s2”,“s3”],如果传的值不在这个数组内会报错
5、自定义验证规则(validate)
author:{
type:String,
validate:{
validator:(v) => {
// 参数v是当前用户传进来的值
// 需要返回一个boolean值
return v && v.length > 4
},
// 自定义错误信息
message:"传入的信息不合法"
}
}