web-base-pc/src/util/README.md

133 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 校验工具使用说明
## 概述
`validator.js` 是一个通用的表单校验工具,提供了常用的校验规则和方法,遵循高内聚低耦合的设计原则。
## 引入方式
```javascript
// 完整引入
import validator from '@/utils/validator.js';
// 按需引入
import { createValidators, validators, REGEX_PATTERNS } from '@/utils/validator.js';
```
## 使用方法
### 1. 在Element UI表单中使用校验规则
```javascript
export default {
data() {
return {
form: {
mobile: '',
email: '',
name: ''
},
// 表单校验规则
formRules: {
// 手机号校验(必填)
mobile: createValidators.mobile(true, '请输入正确的手机号码'),
// 邮箱校验(非必填)
email: createValidators.email(false, '请输入正确的邮箱地址'),
// 中文姓名校验
name: createValidators.chineseName(true, '请输入正确的中文姓名'),
// 组合使用多个校验规则
description: [
createValidators.required('请输入描述'),
createValidators.length(10, 200, '描述长度为10-200个字符')
]
}
};
}
}
```
### 2. 直接校验(非表单场景)
```javascript
import { validators } from '@/utils/validator.js';
// 校验手机号
const isValidMobile = validators.isMobile('13812345678'); // true
// 校验邮箱
const isValidEmail = validators.isEmail('test@example.com'); // true
// 校验中文姓名
const isValidName = validators.isChineseName('张三'); // true
```
### 3. 使用正则表达式
```javascript
import { REGEX_PATTERNS } from '@/utils/validator.js';
// 直接使用正则
const mobileRegex = REGEX_PATTERNS.mobile;
const isValid = mobileRegex.test('13812345678');
```
## 可用的校验规则
### createValidators用于Element UI表单
- `mobile(required, message)` - 手机号校验
- `email(required, message)` - 邮箱校验
- `chineseName(required, message)` - 中文姓名校验
- `required(message)` - 必填校验
- `length(min, max, message)` - 长度校验
### validators直接校验方法
- `isMobile(mobile)` - 校验手机号
- `isEmail(email)` - 校验邮箱
- `isChineseName(name)` - 校验中文姓名
### REGEX_PATTERNS正则表达式
- `mobile` - 手机号1开头的11位数字
- `email` - 邮箱地址
- `idCard` - 身份证号
- `chineseName` - 中文姓名
- `number` - 数字
- `positiveInteger` - 正整数
## 扩展校验规则
如需添加新的校验规则,请在 `validator.js` 文件中:
1.`REGEX_PATTERNS` 中添加新的正则表达式
2.`createValidators` 中添加对应的表单校验方法
3.`validators` 中添加对应的直接校验方法
示例:
```javascript
// 添加新的正则
REGEX_PATTERNS.newRule = /^your-regex$/;
// 添加表单校验方法
createValidators.newRule = function(required = true, message = '默认错误信息') {
const rules = [];
if (required) {
rules.push({ required: true, message: '请输入内容', trigger: 'blur' });
}
rules.push({
pattern: REGEX_PATTERNS.newRule,
message,
trigger: 'blur'
});
return rules;
};
// 添加直接校验方法
validators.isNewRule = function(value) {
return REGEX_PATTERNS.newRule.test(value);
};
```