Node.js JaySchema的严格模式验证

Node.js JaySchema的严格模式验证,node.js,validation,schema,Node.js,Validation,Schema,我正在使用JaySchema()为我正在使用ExpressJS构建的NodeJS应用程序玩游戏。我想知道是否有人已经创建或知道如何创建自定义代码,以便对库进行“严格”验证。。。所谓“严格”,我的意思是,任何不在模式本身内的JSON属性都会为模式的验证返回一个错误状态 如果有人对此有任何见解,我很想听听你的意见 另外,如果有人知道提供此选项的替代库(最好使用NPM),请告诉我 谢谢 所以经过一番挖掘,我找到了解决办法 JaySchema支持JSON模式的标准(可以找到JSON模式标准文档的详细信息

我正在使用JaySchema()为我正在使用ExpressJS构建的NodeJS应用程序玩游戏。我想知道是否有人已经创建或知道如何创建自定义代码,以便对库进行“严格”验证。。。所谓“严格”,我的意思是,任何不在模式本身内的JSON属性都会为模式的验证返回一个错误状态

如果有人对此有任何见解,我很想听听你的意见

另外,如果有人知道提供此选项的替代库(最好使用NPM),请告诉我


谢谢

所以经过一番挖掘,我找到了解决办法

JaySchema支持JSON模式的标准(可以找到JSON模式标准文档的详细信息)。在这些标准中,“additionalProperties”关键字的定义正是我所寻找的(找到了更多信息)

根据文档(特别是第5.4.4.4节,以及第5.4.4.5节中的示例),如果“additionalProperties”设置为布尔值false,则如果发现架构中定义的属性之外的属性,则验证失败

因为,正如我前面提到的,JaySchema支持这个JSON模式标准,如果您在对象级别将“additionalProperties”添加到false,您将实现我想要的“严格”验证

如果您感兴趣,可以查看我在GitHub上的测试,如下所示:

:将“additionalProperty”设置为false

:添加了其他属性以导致验证失败