【问题标题】:I am getting "Joi.validate is not a function" when I try and send a request through postman当我尝试通过邮递员发送请求时,我收到“Joi.validate 不是函数”
【发布时间】:2021-11-15 11:14:49
【问题描述】:

您好,我对 node.js 和 postman 还是很陌生。当我尝试从邮递员发送正文原始消息时遇到问题,我在终端中收到 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;

【问题讨论】:

  • validate 不是架构上的方法吗?

标签: javascript node.js mongodb postman


【解决方案1】:

验证是您使用 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;

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-02
    • 2018-03-17
    • 2020-05-13
    • 2012-04-25
    • 2022-01-23
    • 1970-01-01
    相关资源
    最近更新 更多