【问题标题】:Express Validate check Object has nested keys快速验证检查对象是否有嵌套键
【发布时间】:2020-04-27 01:13:22
【问题描述】:

我的 express 服务器处理一个 post 请求,该请求接收一个包含下一个 JSON 对象的主体:

"QnsAns": {

    }

如何验证对象 QnsAns 是否有嵌套对象?它应该看起来像:

"QnsAns": {
        "Q1": "A1",
        "Q2": "A2",
        "Q3": "A3",
        "Q4": "A4",
        "Q5": "A5"
    }

使用 express 验证器,我尝试使用 '*' 通配符、 optional()、exist() 但所有结果都没有成功

谢谢!

【问题讨论】:

    标签: node.js json validation express-validator nested-object


    【解决方案1】:

    这个问题不是很清楚。这个对象是 JSON 格式的吗?您能否向它发布更多详细信息,以便它有所帮助。

    现在,作为一个简单的解决方案,您可以执行以下操作,假设对象存储在变量 data 中。

    function checkIfNestedObjectIsEmpty() {
    
    let data = <Your Object>
    
    return (Object.entries(data[Object.keys(data)]).length === 0)
    }
    

    【讨论】:

      【解决方案2】:

      要检查“QnsAns”是否包含“Q1”,您可以使用 hasOwnProperty

      console.log(QnsAns.hasOwnProperty('Q1'));
      

      要检查 Q1 的类型,您可以使用 typeOf

      console.log(typeof(Q1);
      

      如果你必须多次使用,试试Joi Validations

      【讨论】:

        猜你喜欢
        • 2021-09-05
        • 2014-08-22
        • 1970-01-01
        • 1970-01-01
        • 2016-03-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-06-30
        相关资源
        最近更新 更多