【问题标题】:Mongodb schema field validation not working in nodejsMongodb模式字段验证在nodejs中不起作用
【发布时间】:2021-04-25 11:57:11
【问题描述】:

我正在尝试验证注册号。它只能是字母数字。我不明白为什么我的验证功能不起作用。我附上了下面的架构。

const mongoose=require('mongoose');
const validator=require('validator');


const dvSchema=new mongoose.Schema({
    registrationNumber:{
        type:String,
        validate(value){
            if(!validator.isAlphanumeric(value)){
                throw new Error('Registration number should be alphanumeric.')
            }
        },
        unique:true,
        required:true,
       
    },
    vehicleType:{
        type:String,
        enum:['bike','truck'],
        default:'truck'
        
    },
    city:{
        type:String,
        required:true
    },
    activeOrdersCount:{
        type:Number,
        min:0,
        max:2,
        default:0
    }
})

module.exports=mongoose.model('deliveryVehicle',dvSchema);

【问题讨论】:

    标签: javascript node.js mongodb mongoose mongoose-schema


    【解决方案1】:

    您的验证字段格式不正确。

    请参阅 Custom Validators 下有关 Mongoose.JS 的文档。

    将registrationNumber更改为以下内容。

    registrationNumber: {
      type: String,
      validate:
        validator: function(value) {
          return validator.isAlphanumeric(value);
        },
        error: 'Registration number should be alphanumeric.'
      },
      unique:true,
      required:true,
    },
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多