Github地址:表单校验类
关于该类
支持的校验规则
- 非空判断(required)
- 手机号校验(phone)
- 邮箱校验(email)
- 数字类型校验(number)
- 数字范围校验(numberRange)
- 自定义校验函数(customize)
内置的校验函数
- testRequired
- testPhone
- testEmail
- testNumber
- testNumberRange
直接调用内置函数时,返回如下格式类型的结果:
{
res: boolean,
msg: string
}
初始化构造函数
在初始化构造函数时传入校验规则(具体格式参考下面的使用示例)。最后会返回校验出的第一个错误信息,如果全部校验成功则返回空字符串。
特别说明
- 该类对所有类型的校验都初始化了错误信息,当用户不填错误信息时,将自动使用默认信息。校验规则与默认信息的对应关系如下:
{
'required': '该项必填',
'phone': '手机号不合法',
'email': '邮箱不合法',
'number': '所填项必须为有效数字',
'numberRange': '数字必须在正确的范围内',
'customize': '对于自定义校验函数,请输入自定义的错误信息'
}
- 对于自定义校验函数,请返回一个布尔值
- 当校验规则只有一个或错误信息只有一个时,也可以直接传入一个字符串
使用示例
该类有两种使用方法,第一种是构造函数中什么都不传,然后直接调用类的公有方法进行判断。
第二种是在初始化构造函数时传入校验规则。请按照下面示例中的格式填写,注意value必填,rules必填。
然后调用res函数,该函数返回一个Promise。在链式调用中,如果err为空则校验成功,否则会返回第一条失败信息。
const Validate = require('./validate');
let phone = '17157527818';
let number = '0';
let email = '4548@sad.com'
let customize = '12';
const validation = new Validate();
const res = validation.testPhone(phone);
console.log(res);
const validate = new Validate([
{
value: phone,
rules: ['required', 'phone'],
msgs: ['手机号不能为空', '手机号错误']
}
, {
value: number,
rules: ['required', {
type: 'number', max: 50, min: 1 }],
msgs: ['数字不能为空', '']
}
, {
value: email,
rules: 'email'
}, {
value: customize,
rules: (value) => value.startsWith('0'),
msgs: '该项必须以0开头'
}
]);
validate.res().then((err) => {
if (!err) console.log('成功');
else console.log('失败', err);
})
打印出结果:
{
res: true, msg: 'success' }
失败 该项必须在1~5

本文介绍了如何手写一个表单验证封装类,包括支持的校验规则(如非空、手机号、邮箱、数字类型及范围等),内置的校验函数,初始化构造函数的使用,以及特别说明和使用示例。提供了完整的类代码供参考。
最低0.47元/天 解锁文章
2251

被折叠的 条评论
为什么被折叠?



