0 votos
por (140 puntos) en NodeJS
Hola gente, acabo de iniciar en el mundo de Node y he estado estudiando muchas buenas practicas para programar apiREST adecuadamente ya que mi primer intento me llevo a un monton de codigo espaguetti.

Mi problema es el siguietne:

Tengo un Schema de mongoose que tiene un campo "password" y tengo un virtual de ese Schema para comparar la contraseña para que el usuario no se registre con una pass mal, el problema radica en que quiero que esos 2 valores se comparen y devuelvan un mensaje de error asi como lo hace un validador de String en el Schema para usar el mensaje y revicibirlo directamente en el controlador, no se me ocurre como hacerlo, colaboremen por favor.

Gracias de antemano

no se como insertar codigo asi que lo dejo en texto plano

//modelo de usuario
var mongoose     = require("mongoose"),
     encrypt     = require('mongoose-encryption'),
     config         = require("../../config/config.js");

//definir el schema principal
var    userSchema = mongoose.Schema({
    idDocument: {
        type:         Number,
        require:     "Es obligatorio agregar tu numero de documento",
        index:         true,
        minlength:         [1000000, "No es un numero de documento valido"],
        maxlength:         [2000000000, "No es un numero de documento valido"],
        unique:     [true, "Este numero de identificacion de usuario ya esta registrado"]  },
    password: {
        type:         String,
        require:     "Es obligatorio establecer una constraseña",
        minlength:     [8, "Tu contraseña debe ser mayor a 8 caracteres"],
        maxlength:     [50, "La contraseña debe ser menor a 50 caracteres"] },
    creation: { type: Date, default: Date.now}
});

//virtuales
userSchema.virtual("password_confirmation")
    .get(function () {
        return this.cnfirmation;        
    })
    .set(function (password) {
        this.cnfirmation = password;
    });

//plugins
//encryptacion
userSchema.plugin(encrypt, {
    
    secret: config.secret,
    encryptedFields: ['password']});

//export el schema como modelo
module.exports = mongoose.model('User', userSchema);

Por favor, accede o regístrate para responder a esta pregunta.

Preguntas relacionadas

0 votos
1 respuesta
preguntado por freddy (20 puntos) Ago 25, 2016 en MongoDB
+1 voto
1 respuesta
preguntado por Ayuda En La Web (100 puntos) Feb 11, 2016 en NodeJS
0 votos
0 respuestas
0 votos
1 respuesta
preguntado por Hector (20 puntos) Mar 11, 2019 en Java
Bienvenido a Dudas de Programación, donde puedes hacer preguntas y recibir respuestas sobre los problemas más frecuentes de los lenguajes de programación, frameworks de desarrollo y bases de datos que utilices. Foro de Línea de Código

Categorías

...