Saturday, 18 March 2017

[SOLVED]Implicit async custom validators (custom validators that take 2 arguments) are deprecated in mongoose >= 4.9.0

I'm using mongoose 4.9.0. Whilst the code below works, I get a warning like the following:
(node:24769) DeprecationWarning: Implicit async custom validators (custom validators that take 2 arguments) are deprecated in mongoose >= 4.9.0. See http://mongoosejs.com/docs/validation.html#async-custom-validators for more info.
I suspect the error is coming from the model validators.
const mongoose = require('mongoose');
const isEmail = require('validator/lib/isEmail');

const Schema = mongoose.Schema;

const userSchema = new Schema({
  email: {
    type: String,
    unique: true,
    required: true,
    validate: [{ validator: isEmail, msg: 'Invalid email.' }],
  },
});

module.exports = mongoose.model('User', userSchema);

The only custom validator I seem to have is isEmail from the validator library, which given an string value returns whether it is valid or not.


via zurfyx

No comments:

Post a Comment