web:javascript:mean_stack:mongoose
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
web:javascript:mean_stack:mongoose [2014/12/29 04:12] – [Validation] sgariepy | web:javascript:mean_stack:mongoose [2022/02/02 00:42] (Version actuelle) – modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 35: | Ligne 35: | ||
isActive: | isActive: | ||
}); | }); | ||
+ | </ | ||
+ | |||
+ | ==== Valeurs par défaut ==== | ||
+ | |||
+ | <code javascript> | ||
+ | created: { | ||
+ | type: Date, | ||
+ | default: Date.now | ||
+ | } | ||
</ | </ | ||
Ligne 442: | Ligne 451: | ||
^ Schema Type ^ Built-in Validators | ^ Schema Type ^ Built-in Validators | ||
| String | | String | ||
- | | Number | + | | Number |
| Date | required | | Date | required | ||
| Buffer | | Buffer | ||
Ligne 449: | Ligne 458: | ||
| ObjectId | | ObjectId | ||
| Array | required | | | | | Array | required | | | | ||
+ | |||
+ | ===== Validation required ===== | ||
+ | |||
+ | |||
+ | Exemple de schema : | ||
+ | |||
+ | <code javascript> | ||
+ | var customerSchema = new Schema({ | ||
+ | name: { type: String, required: true }, address: String, | ||
+ | city: String, | ||
+ | state: String, | ||
+ | country: String, | ||
+ | zipCode: Number, | ||
+ | createdOn: Date, | ||
+ | isActive: Boolean | ||
+ | }); | ||
+ | </ | ||
+ | |||
+ | |||
+ | Une fois le schema définit, on peut préciser une validation avec '' | ||
+ | required(required, | ||
+ | |||
+ | |||
+ | <code javascript> | ||
+ | customerSchema.path(' | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Validation match ===== | ||
+ | |||
+ | <code javascript> | ||
+ | var reMatch = /[a-zA-Z]/; | ||
+ | var customerSchema = new Schema({ | ||
+ | name: { type: String, | ||
+ | required: true, | ||
+ | match: reMatch }, | ||
+ | // etc... | ||
+ | }); | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Validation enum ===== | ||
+ | |||
+ | <code javascript> | ||
+ | var impediments = [' | ||
+ | |||
+ | var standupSchema = new Schema({ | ||
+ | // abbreviated... | ||
+ | impediment: { | ||
+ | type: String, | ||
+ | required: true, | ||
+ | enum: impediments | ||
+ | } | ||
+ | }); | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | ===== Validation min et max ===== | ||
+ | |||
+ | |||
+ | <code javascript> | ||
+ | var customerSchema = new Schema({ | ||
+ | name: String, | ||
+ | discount: { type: Number, min: 5 } | ||
+ | }); | ||
+ | |||
+ | var customerSchema = new Schema({ | ||
+ | name: String, | ||
+ | discount: { type: Number, max: 60 } | ||
+ | }); | ||
+ | |||
+ | var customerSchema = new Schema({ | ||
+ | name: String, | ||
+ | discount: { type: Number, min: 5, max: 60 } | ||
+ | }); | ||
+ | </ | ||
+ | |||
+ | ===== Validation personnalisée ===== | ||
+ | |||
+ | Une validation personnalisée peut être spécifiée avec '' | ||
+ | |||
+ | <code javascript> | ||
+ | var sizeValidator = [ | ||
+ | function (val) { | ||
+ | return (val.length > 0 && val.length <= 50) | ||
+ | }, | ||
+ | // Custom error text... | ||
+ | ' | ||
+ | ]; | ||
+ | |||
+ | var personSchema = new Schema({ | ||
+ | firstName: { type: String, required: true, validate: sizeValidator }, | ||
+ | lastName: { type: String, required: true, validate: sizeValidator }, | ||
+ | status: { type: String, required: true, default: ' | ||
+ | }); | ||
+ | |||
+ | var Person = new mongoose.model(' | ||
+ | |||
+ | var newPerson = new Person( { firstName: ' | ||
+ | |||
+ | newPerson.save(function (err) { | ||
+ | if (err) return handleError(err); | ||
+ | // saved the person document! | ||
+ | }); | ||
+ | </ | ||
+ | |||
+ | |||
web/javascript/mean_stack/mongoose.1419822753.txt.gz · Dernière modification : 2022/02/02 00:43 (modification externe)