繁体   English   中英

如何修复:ReferenceError: validateEmail 未定义

[英]How to fix: ReferenceError: validateEmail is not defined

我正在尝试使用 EJS 进行注册。 因此,我正在检查

  1. 如果所有输入字段都有值
  2. Email 是否有效
  3. 密码长度必须小于 6 个字符
  4. Email 是否已经注册,如果不符合上述条件,请给他们留言。 要检查所有这些条件,我在 userCtrl.js 文件 userCtrl.js 中有以下代码
const Users = require("../models/userModel");

const userCtrl = {
  //! Register User
  register: async (req, res) => {
    try {
      const { name, email, password } = req.body;
      // Check If All fields are filled with values or not
      if (!name || !email || !password) {
        return res.status(400).json({ masg: "Please fill allfields." });
      }
      // Check If email is valid
      if (!validateEmail(email)) {
        return res.status(400).json({ masg: "Please enter valid email." });
      }
      //Check password length
      if (password.length < 6) {
        return res
          .status(400)
          .json({ masg: "Password must be atleast 6 characters long." });
      }
      const user = await Users.findOne({ email });
      // Check If email is already registered
      if (await Users.findOne({ email })) {
        return res.status(400).json({ masg: "User already exists." });
      }
      res.json({ msg: "User Registered Successfully!" });
    } catch (err) {
      console.log(err);
      return res.status(500).json({ msg: err.message });
    }
  },
};

//! Exporting User Controller
module.exports = userCtrl;

这是用于引用的用户模块。

const mongoose = require("mongoose");
const { Schema } = mongoose;

const userSchema = new mongoose.Schema({
  name: {
    type: String,
    required: [true, "Please enter your name"],
    trim: true,
  },
  email: {
    type: String,
    required: [true, "Please enter your email"],
    trim: true,
    unique: true,
  },
  password: {
    type: String,
    required: [true, "Please enter your password"],
    trim: true,
  },
  role: {
    type: Number,
    default: 0, // 0 for user, 1 for admin
  },
  avator: {
    type: String,
    default:
      "https://res.cloudinary.com/manix/image/upload/v1639722719/avator/istockphoto-1214428300-170667a_c4fsdt.jpg",
  },
});
//! Exporting User Modules
module.exports = mongoose.model("Users", userSchema);

但是当我尝试使用 Postman 注册用户时,我收到了这个错误。 在此处输入图像描述

请帮我解决这个问题。

问题可能发生在这里

if (!validateEmail(email))

您的validateEmail() function 位于哪里?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM