【问题标题】:Express-validator: How can i use date birthday validator with checkschema?Express-validator:如何将日期生日验证器与 checkschema 一起使用?
【发布时间】:2023-01-12 12:05:56
【问题描述】:

我正在开发一个带有表单的项目,我需要使用一个验证器。我选择 express-validator 来完成这项工作。我正在使用带有 checkschema 格式的 express-validator,但我无法验证日期。日期格式为 yyyy/mm/dd。我试过下面的代码:

`export const validator = {
  editAction: checkSchema({
 
    date: {
        isISO8601: {
            errorMessage: `date of birth is not a valid iso date`
        },
      isBefore: {
        date: '01-01-2008',
        errorMessage: 'should be less than 01-01-2008'
    },
    isAfter: {
        date: '01-01-1920',
        errorMessage: 'should be less than 01-01-1920'
    }
},
  }),
};`

我从未使用过这个库。请帮助我,我怎样才能得到正确的验证器模式?

【问题讨论】:

标签: javascript node.js validation express-validator


【解决方案1】:

尝试这个,

export const validator = {
    editAction: checkSchema({
        date: {
            custom: {
                options: (value, { req }) => {
                    const dateFormat = /^d{4}/d{2}/d{2}$/;
                    if (!dateFormat.test(value)) {
                      throw new Error("Invalid date format. Use yyyy/mm/dd");
                    }
                    return true;
                }
            }
        }
    })
};

请注意,您必须先从 express-validator 导入 checkSchema。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-31
    • 1970-01-01
    • 2017-11-06
    • 1970-01-01
    • 2021-10-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-03
    相关资源
    最近更新 更多