0
votes

Comment valider la matrice d'objets en mangouste

Je dois valider la matrice d'objets dans mon schéma xxx

Comment valider le nom, l'âge et le contact.


2 commentaires

Essayé: Utilisateur: [{Nom: {Type: String, Obligatoire: [TRUE, 'NOM est requis']}, Âge: {Type: Number, Obligatoire: [TRUE, 'Age est requis']}, Contact: { Type: Nombre requis: [TRUE, 'Contact est requis']}}] Toute solution?


Veuillez ajouter votre schéma et votre code modèle.


3 Réponses :


-1
votes

En utilisant Type Key / Propriété:

var breakfastSchema = new Schema({
  eggs: {
    type: Number,
    min: [6, 'Too few eggs'],
    max: 12
  },
  bacon: {
    type: Number,
    required: [true, 'Why no bacon?']
  },
  drink: {
    type: String,
    enum: ['Coffee', 'Tea'],
    required: function() {
      return this.bacon > 3;
    }
  }
});


1 commentaires

Bonjour Karan Sah. Merci pour la réponse, mais vous n'avez pas utilisé des objets d'objets.



1
votes

Je suppose que votre tableau d'utilisateurs est à l'intérieur d'un autre schéma.

Disons que nous avons un modèle de cours avec des utilisateurs comme celui-ci: p> xxx pré>

pour valider cela dans un itinéraire post Vous pouvez utiliser Mongoose Model Validatesync Méthode: P>

Post validation failed: users.0.contact: Contact is required, users.0.age: Age is required


0 commentaires

0
votes

Il sera similaire à la validation habituelle mais à l'intérieur d'une matrice, vous devez créer une fonction de validateur comme suit:

var mongoose = require('mongoose');
var Schema = mongoose.Schema;

//the custom validation that will get applied to the features attribute.
var notEmpty = function(features){
    if(features.length === 0){return false}
    else {return true};
}

var CarSchema = new Schema({
    name: {
        type: String,
        required: true,
    },
    features: [{
        type: Schema.ObjectId,
        ref: Feature
        required: true; //this will prevent a Car model from being saved without a features array.
        validate: [notEmpty, 'Please add at least one feature in the features array'] //this adds custom validation through the function check of notEmpty.
    }]
});

var FeatureSchema = new Schema({
    name: {
        type: String,
        required: true //this will prevent a Feature model from being saved without a name attribute.
    }
});

mongoose.model('Car', CarSchema);
mongoose.model('Feature', FeatureSchema);


0 commentaires