更新记录
1.0.2(2021-12-10) 下载此版本
优化。
1.0.1(2021-09-07) 下载此版本
初次发布。
平台兼容性
阿里云 | 腾讯云 | 支付宝云 |
---|---|---|
√ | √ | × |
云函数类插件通用教程
使用云函数类插件的前提是:使用HBuilderX 2.9+
EXPLAIN-VALIDATOR
框架交流QQ群:970799055。
云函数请求数据校验器,校验器对JSON Schema
进行了扩展,主要是本地化错误信息和数据类型转换。
使用方式
在数据使用前对数据进行校验
const explain = require("explain-unicloud");
explain.validator = require("explain-validator"); // 数据校验器
module.exports = class test extends explain.service {
async test(data) {
let validate = explain.validator.data({
data: data,
schema: {
"type": "object",
"title": "test.validator",
"description": "test.validator校验integer",
"properties": {
"id": {
"display": "编号",
"type": "integer",
"requiredErrorMessage": "{display}不能为空",
"minimum": 1,
"minimumErrorMessage": "{display}最小为{minimum}"
}
},
"required": ["id"]
}
});
if (validate.result.valid) {
// 将请求参数类型转换为JSON Schema对应类型
data = validate.data;
} else {
throw new Error(validate.errors[0]);
}
}
}
每项校验属性都可以通过属性+ErrorMessage配置错误信息,例:
属性 | 对应错误信息属性 |
---|---|
required | requiredErrorMessage |
minimum | minimumErrorMessage |
maximum | maximumErrorMessage |
在ErrorMessage中可以使用{PropertyName}
得到同级属性的值,例:
{
"display": "编号",
"minimum": 1,
"minimumErrorMessage": "{display}最小为{minimum}"
}
验证失败时将返回错误信息为:编号最小为1
最后附上一个JSON Schema的基础知识链接:https://zhuanlan.zhihu.com/p/72607132