email: { type: DataTypes.STRING, allowNull: false, validate: { notNull: { args: true, msg: "Email is required" }, notEmpty: { args: true, msg: "Email is required." }, isEmail: { args: true, msg: "Email is not valid." }, isUnique: function (value, next) { var self = this; User.findOne({where: {email: value}}) .then(function (user) { // reject if a different user wants to use the same email if (user && self.id !== user.id) { return next('Email already exists!'); } return next(); }).catch(function (err) { return next(err); }); } } }funciona bien cuando el usuario crea, pero cuando intenta olvidar la contraseña, muestra que el correo electrónico ya existe. Necesito evitar isUnique en ese momento porque entonces el correo electrónico del usuario existe en la base de datos, que es un punto válido, pero la validación de isUnique falla, lo que no necesita ejecutar ese tiempo. Cualquier ayuda por favor