更新记录

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

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问