【问题标题】:Validating time zone in a Joi schema在 Joi 模式中验证时区
【发布时间】:2021-10-25 00:11:43
【问题描述】:

我想接受一个发送多个查询参数的请求,我正在使用 Nodejs/Express 中的 Joi 库对其进行验证,但不知道如何验证时区值(这是查询参数之一?

function validateLedger(ledger){
    let schema=Joi.object({
    startDate:Joi.date().iso(),
    endDate:Joi.date().iso().greater(Joi.ref('startDate')),
    paymentFrequency:Joi.string().valid('weekly','fortnightly','monthly'),
    weeklyRate:Joi.number().greater(0),
    timeZone://this needs to be validated
    });

    return schema.validate(ledger)
}

【问题讨论】:

    标签: javascript node.js express joi moment-timezone


    【解决方案1】:

    我刚用了joi-tz请找下面的代码

    const Joi=require('joi')
    const JoiTimezone=require('joi-tz')
    const JoiTZ = Joi.extend(JoiTimezone);
    
    function validateLedger(ledger){
        let schema=Joi.object({
        startDate:Joi.date().iso(),
        endDate:Joi.date().iso().greater(Joi.ref('startDate')),
        paymentFrequency:Joi.string().valid('weekly','fortnightly','monthly'),
        weeklyRate:Joi.number().greater(0),
        timeZone:JoiTZ.timezone().required()//the answer
        });
    
        return schema.validate(ledger)
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-05-08
      • 2021-04-16
      • 1970-01-01
      • 2019-08-03
      • 2020-06-01
      • 2018-04-01
      • 1970-01-01
      相关资源
      最近更新 更多