@yuliqi/node-red-contrib-qval 0.1.0
Validation of JavaScript objects with the AJV library.
qval — 对象校验(可视化规则 / 可选不中断 / 结果对象输出)
qval 对 msg.<data>(默认 msg.payload)中的对象执行规则校验,支持可视化配置与批量编辑;内置 Email/URL/IPv4/IPv6/UUID/日期/主机名等格式校验,长度/数值/元素个数边界、集合包含/排除、字段相等等。
主要能力
- 规则来源:节点内规则 + (可选)
msg/flow/global的传入规则 - 来源策略:替换 replace / 追加 merge
- 额外属性:允许 / 禁止额外字段(
additionalProperties) - 失败行为:可选 抛错中断 或 不中断
- 输出:仅写入结果对象到可配置路径(默认
msg.validation){ "ok": true|false, "errors": [ "..." ], "details": [ /* Ajv 错误 */ ] }
> 不再写入 `msg.qvalValid` / `msg.qvalErrors`,也不再提供“错误数组独立路径”。
---
## 运行时状态
* 通过:绿色 · 已通过
* 未通过:黄色 · 未通过(N)
* 异常:红色 · 异常(配置/数据结构错误)
---
## 批量编辑(JSON)
```json
[
{"property":"email","validator":"required"},
{"property":"email","validator":"email","error":"邮箱格式不正确"},
{"property":"age","validator":"minimum_number","value":18}
]
```
---
## 小贴士
* 对象来源路径可写深层:如 `payload.user`
* 结果对象路径支持 `msg` / `flow` / `global`,也支持深层:如 `result.validation`
* 路径中若写入 `msg.xxx` 会在保存时自动规范化为 `xxx`