【问题标题】:How to validate an array including certain type of object with hapi/joi framework in javascript?如何在 javascript 中使用 hapi/joi 框架验证包含特定类型对象的数组?
【发布时间】:2019-10-04 11:43:30
【问题描述】:

我的对象是这样的:

"resources":[
     {
        "date": "2019-04-17",
        "values":[
            {"Customer":"C_name"},
            {"Environment":66.5},
            {"Other": {"goods": "feature", "present": 12}
     }
]

我想知道如何验证值,我的意思是值数组应该至少包含一个客户对象、一个环境对象和其他对象。如何使用@hapi/joi 框架来验证这个数组,它应该在这个数组中包含不同的对象?

【问题讨论】:

    标签: javascript arrays validation hapijs


    【解决方案1】:

    使用mapeverysome 的组合:

    const resources = [{
      "date": "2019-04-17",
      "values": [{
          "Customer": "C_name"
        },
        {
          "Environment": 66.5
        },
        {
          "Other": {
            "goods": "feature",
            "present": 12
          }
        }
      ]
    }]
    
    function valid(arr) {
      return arr
        .map(x => x.values)
        .every(y =>
          y.some(z => z.hasOwnProperty("Customer"))
          && y.some(z => z.hasOwnProperty("Environment")) 
          && y.some(z => z.hasOwnProperty("Other"))
        )
    }
    
    console.log(valid(resources));

    【讨论】:

      猜你喜欢
      • 2018-01-14
      • 2016-02-19
      • 2018-09-24
      • 2016-10-11
      • 2019-10-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-27
      • 2013-10-19
      相关资源
      最近更新 更多