当我尝试通过邮递员发送请求时,我得到 "Joi.validate is not a function"

I am getting "Joi.validate is not a function" when I try and send a request through postman

你好,我是 node.js 和邮递员的新手。当我尝试从邮递员发送正文原始消息时遇到问题我在终端中收到 TypeError 说 Joi.validate 不是函数。我不确定我的问题是什么任何帮助将不胜感激。

 //Validation
    const Joi = require('joi');
    
    //Register Validation
    const registerValidation = data  => {
    const schema = {
        name: Joi.string()
            .min(6)
            .required(),
        email: Joi.string()
            .min(6)
            .required()
            .email(),
        password: Joi.string()
            .min(6)
            .required()
        };
        return Joi.validate(data, schema);
    };
    
    //Login Validation
    const loginValidation = data  => {
        const schema = {
            email: Joi.string()
                .min(6)
                .required()
                .email(),
            password: Joi.string()
                .min(6)
                .required()
                
            };
            return Joi.validate(data, schema);
        };
    
    module.exports.registerValidation = registerValidation;
    module.exports.loginValidation = loginValidation;

验证是您使用 Joi 创建的模式的一部分,而不是库本身的方法。

检查docs

//Validation
const Joi = require('joi');
    
    //Register Validation
    const registerValidation = data  => {
        const schema = Joi.object({
            name: Joi.string()
                .min(6)
                .required(),
            email: Joi.string()
                .min(6)
                .required()
                .email(),
            password: Joi.string()
                .min(6)
                .required()
        });
        return schema.validate(data);
    };
    
    //Login Validation
    const loginValidation = data  => {
        const schema = Joi.object({
            email: Joi.string()
                .min(6)
                .required()
                .email(),
            password: Joi.string()
                .min(6)
                .required()
            };
            return schema.validate(data;
        });
    
    module.exports.registerValidation = registerValidation;
    module.exports.loginValidation = loginValidation;

要记住的一件事是,您可以在箭头函数之外定义架构以提高性能。