admin 管理员组

文章数量: 1086019

I am working on a project where i am registering a user , my first user is registered but on the second submission it says "Duplicate Phone Entered" although i am not entering any phone no,i have not user this line anywhere in my whole code

My User Model

name: {
  type: String,
  required: [true, "Please Enter Your Name"],
  maxLength: [30, "Name cannot exceed 30 charactor"],
  minLength: [3, "Name should have more than 4 characters"],
  trim: true,
},
userName: {
  type: String,
  required: [true, "Please Enter Your Username"],
  maxLength: [20, "User Name cannot exceed 20 charactor"],
  minLength: [3, "User Name should have more than 4 characters"],
  trim: true,
},
email: {
  required: [true, "Please Enter Your Email"],
  type: String,
  validate: [validator.isEmail, "Please Enter a Valid Email"],
  lowercase: true,
  trim: true,
},
phone: {
  type: Number,
  unique: [true, "This phone is already in use!"],
  //required: [true, "Please Enter Your Pnone no!"],
  validate: {
    validator: (value) => {
      if (value === 10) {
        return true;
      }
    },
    message: (props) => `${props.value} is invalid phone no!`,
  },
},
password: {
  type: String,
  required: [true, "Please Enter Your Password"],
  minLength: [8, "Password should be greater than 8 characters"],
  select: false,
},

Registering a user

    exports.registerUser = catchAsyncErrors(async (req, res, next) => {
  const { name, password, email, userName } = req.body;

  const userExistData = await User.findOne({ email: email });

  if (userExistData) return next(new ErrorHandler("User already registered!"));

  if (userExistData?.userName === userName)
    return next(new ErrorHandler("User already registered!"));

  const user = await User.create({
    name,
    email,
    password,
    userName,
  });

  sendToken(user, 201, res);
});

本文标签: nodejsDuplicate phone EnteredStack Overflow