定制验证猫鼬的Schema参数

时间:2014-04-15 12:35:44

标签: validation mongoose schema

有下一个对象的参数:

var mongoose = require (PATH);
var Schema = mongoose.Schema;
var schema - new Schema ({

barcode:{
type:number,
required:true,
unique:true

},...});

我想验证条形码',这将不会少于且不超过14个字符;

为此我写下面的代码:

schema.path('barcode').validate(function(barcode){
return barcode.length == 13;
}, 'sorry, the error occurred, be careful while typing, 14 characters only!");

exports.Item = mongoose.model('Item', schema);

但是当我将此模式实现到具体对象时,此验证不起任何作用。我的意思是,我可以键入任意长度的数字,不会发生任何错误!

1 个答案:

答案 0 :(得分:0)

结帐mongoose-validator。它与mongoose集成以支持自定义验证。你可以使用这样的东西。

var validate = require('mongoose-validator').validate;

var BarcodeSchema = new Schema({
 code: {
    type: String,
    required: true,
    unique: true,
    validate: validate('len', 13)
 }
});