简介
在前端开发中,检验数据的合法性是非常重要的,特别是在处理用户输入数据的时候。其中一个方法是使用ajv(Another JSON Schema Validator)库进行数据验证。而在Node-RED流程中,node-red-contrib-ajv-node是用于Node-RED平台的Ajv验证节点,本文就来介绍其使用方法。
安装
可以在Node-RED的Web页面的“管理面板”中,或者通过命令行安装该包。
通过命令行安装:
-- --------------- --- ------- -------------------------
使用方法
node-red-contrib-ajv-node节点提供了JsonSchema验证节点,在使用前需要进行安装配置并完善JSONschema。
配置节点
将node-red-contrib-ajv-node节点拖拽到Node-RED工作区,双击打开配置窗口,如下图所示。
在该界面中,需要进行以下配置:
1. 名称
节点的名称,可以自由设置。
2. 贡献者
节点作者的姓名。
3. 说明
节点的说明,可以简单描述该节点的作用。
4. 主题
节点风格的主题,可以选择“浅色”或“黑色”主题。
5. JSONSchema Definition
需要填入Node-RED ajv节点提供的JSONSchema,在这个JSONSchema中描述了需要验证的数据。我们可以在界面中进行编辑或者选择上传,如下图所示。
JSONSchema编辑
点击编辑按钮或为JSONSchema上传一个文件,即可进入JSONSchema匹配规则的编辑界面:
在这个界面中,需要进行以下配置:
1. 名称
规则的名称,可以自由设置。
2. 描述
该规则的描述。
3. $schema
JSONSchema的版本。
4. type
要匹配的数据类型,如“string”、“number”、“boolean”、“object”等。
5. 属性约束(Properties Constraints)
通过添加多个属性约束,我们可以进一步定义要检查的JSON对象结构。具体来说,有以下4种属性约束可以使用:
- minimum、maximum
- minLength、maxLength
- format(匹配手机号或者email等等)
- required(必须拥有的属性)
如下所示:
- ---------- ------------------------------------------ ------- --------- ------------- - ------- - ------- --------- ------------ -- ------------ --- ---------- ------------- -- -------- - ------- --------- --------- ------- -- ------ - ------- --------- ---------- --- ---------- -- -- ---------- - ------- -------- -------- - ------- -------- - - -- ----------- - ------- -------- ----- - -
使用示例
在配置节点与编写JSONSchema后,我们来创建一个包含以下内部数据的JSON。
- ------- ------- -------- ------------------- ------ --- ---------- ----------- -------- -
再拖动一个inject节点,设置它的payload为上述json字符串。最后再新增一个node-red-contrib-ajv-node节点,将inject节点的输出连接于该节点的输入上,如下图所示。
如果JSON符合Node-RED ajv节点提供的JSON schema,该节点将输出文本true,否则将输出错误信息。
总结
本文介绍了如何安装、配置、使用和配置JSONSchema。在未来,我们将会需要验证更加复杂的JSON。本文实现的JSONSchema只是一个简单的示例。但我们希望它能帮助您对aJv和JSONSchema在Node-RED的使用具有某些启示。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/60055cb781e8991b448da3b5