更新记录
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)
// 错误处理
}
};