有下一个对象的参数:
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);
但是当我将此模式实现到具体对象时,此验证不起任何作用。我的意思是,我可以键入任意长度的数字,不会发生任何错误!
答案 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)
}
});