habe die nächsten Parameter des Objekts:
var mongoose = require (PATH);
var Schema = mongoose.Schema;
var schema - new Schema ({
barcode:{
type:number,
required:true,
unique:true
},...});
ich möchte "Barcode" validieren, der nicht weniger als 14 Zeichen sein wird;
Dafür schreibe ich den folgenden Code:
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);
Aber wenn ich dieses Schema für das konkrete Objekt implementiere, spielt diese Validierung keine Rolle. Ich meine, dass ich beliebig viele Ziffern eingeben kann und keine Fehler auftreten!
Antworten:
0 für die Antwort № 1Auschecken Mungo-Validator. Es integriert sich mit mongoose
um die benutzerdefinierte Validierung zu unterstützen. Sie können es so verwenden.
var validate = require("mongoose-validator").validate;
var BarcodeSchema = new Schema({
code: {
type: String,
required: true,
unique: true,
validate: validate("len", 13)
}
});