【问题标题】:How to validate array of objects in express validator如何在快速验证器中验证对象数组
【发布时间】:2021-01-27 09:21:11
【问题描述】:
         text_settings_descriptions: {
    'en': { language_id: '5a3a13238481824b077b23ca', value: '' },
    'ar': { language_id: '600eca59ced1c8317d473b54', value: '' }
  }

这是我的地址数组

 app.post(
  '/addresses',
  check('text_settings_descriptions.*.value'),
 
  (req, res) => {
    // Handle the request
  },
);

我正在使用这个验证,它验证了两种语言的价值。但我希望它只验证“en”语言值

【问题讨论】:

    标签: node.js express express-validator


    【解决方案1】:

    如果要确保en 中的值为空,可以使用以下内容:

    const {check, validationResult} = require('express-validator');
    
    app.post(
        '/addresses',
        check('text_settings_descriptions.en.value').notEmpty(),
        (req, res) => {
            const errors = validationResult(req);
            console.log(errors);
            // ... handle errors and request
        },
    );
    

    如果value 是一个空值,上面的代码会记录到控制台:

     {
      formatter: [Function: formatter],
      errors: [
        {
          value: '',
          msg: 'Invalid value',
          param: 'text_settings_descriptions.en.value',
          location: 'body'
        }
      ]
    }
    

    【讨论】:

    • 感谢您的评论,但它不起作用
    • 我已经更新了我的代码,如果这个答案解决了你的问题,请检查并不要忘记点击左侧的复选标记接受答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-18
    • 1970-01-01
    • 2018-08-21
    • 1970-01-01
    • 1970-01-01
    • 2021-03-09
    相关资源
    最近更新 更多