更新记录

1.0.1(2023-11-06)

字符串检查新增正则表达式/前缀匹配/后缀匹配/检查包含字符串

1.0.0(2023-11-04)

实现基本功能


平台兼容性

阿里云 腾讯云 支付宝云
×

云函数类插件通用教程

使用云函数类插件的前提是:使用HBuilderX 2.9+


给云函数用的参数检查

快速使用

const validate = require('zly-validate')

const user = validate.New({
    username: validate.String({
        require: true,
        max: 10,
        min: 5,
        prefix: 'a123',
    }),
    age: validate.Number({
        max: 200,
        min: 0,
    }),
    password: validate.String({
        require: true,
        max: 10,
        min: 5,
        re: /^(?=.*[0-9])(?=.*[a-zA-Z])[0-9a-zA-Z~!@#$%^&*_\-+=`|\\(){}[\]:;"'<>,.?/].*$/, // 密码必须有字母和数字
    }),
})

exports.main = async (event, context) => {
    const errors = user.validate(event)
    if (errors !== null) {
        console.error('错误', errors)
        // 错误处理
        return errors
    }
};

详细说明

首先创建一个云函数/对象. 然后勾选公共模块 zly-validate

const validate = require('zly-validate')

// 定义规则
const rule = validate.New({
    a: validate.String({ // 必须是字符串
        require: true, // 必须赋值, 可以是空字符串
        length: 5, // 长度必须为5
        max: 20, // 长度最大为20
        min: 5, // 长度最小为5
        re: /hello/, // 正则
        prefix: 'hello', // 前缀
        subfix: 'world', // 后缀
        exist: 'hello world', // 包含字符串
    }),
    b: validate.Number({ // 必须是数字
        require: true, // 必须赋值, 可以为0
        max: 10, // 最大值为10
        min: 5, // 最小值为5
        lt: 10, // 必须小于10
        lte: 10, // 必须小于等于10
        gt: 3, // 必须大于3
        gte: 3, // 必须大于等于3
        eq: 5, // 必须等于5
    }),
    c: validate.Boolean({ // 必须是布尔型
        require: true, // 必须赋值, 可以为false
        eq: true, // 必须等于true
    }),
    d: validate.Array({ // 必须是数组
        require: true, // 必须赋值, 可以是空数组
        length: 3, // 数组长度必须为3
        max: 5, // 数组长度最大为5
        min: 3, // 数组长度最小为3
        item: validate.String({ // 数组内部数据必须是字符串
            // ... String 选项
        }),
    }),
    e: validate.Object({ // 必须是Object
        require: true, // Object必须赋值, 可以是空的Object
        length: 3, // Object的keys数量必须为3
        max: 5, // Object的keys数量最大为5
        min: 3, // Object的keys数量最小为3
        item: { // Object内部规则
            x: validate.String({
                // ... String 选项
            }),
            y: validate.Number({
                // ... Number 选项
            }),
            z: validate.Boolean({
                // ... Boolean 选项
            }),
        }
    })
})

示例要用于校验的 Object

const obj = {
    a: 'abcde',
    b: 5,
    c: true,
    d: ['x', 'y', 'z'],
    e: {
        x: 'x',
        y: 2,
        z: true,
    }
}

在云对象中使用

module.exports = {
    check() {
        const errors = rule.validate(obj)
        if (errors !== null){
            console.error('错误', errors)
            // 错误处理
        }
    }
}

在云函数中使用

exports.main = async (event, context) => {
    const errors = rule.validate(obj)
    if (errors !== null) {
        console.error('错误', errors)
        // 错误处理
    }
};

隐私、权限声明

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

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

插件不采集任何数据

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

许可协议

MIT协议

暂无用户评论。

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