validate
数据验证工具,支持链式调用多个验证规则。
函数签名
typescript
function validate<T>(
value: T,
rules: ValidationRule<T>[]
): ValidationResult
type ValidationRule<T> = (value: T) => boolean | string
interface ValidationResult {
valid: boolean
errors: string[]
}参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
value | T | 是 | 要验证的值 |
rules | ValidationRule<T>[] | 是 | 验证规则数组 |
返回值
| 类型 | 说明 |
|---|---|
ValidationResult | 验证结果对象,包含 valid 和 errors |
工作原理
- 初始化错误数组
- 遍历所有验证规则:
- 执行规则函数,传入要验证的值
- 如果返回
false:添加通用错误信息 - 如果返回字符串(错误信息):添加该错误信息
- 如果返回
true:继续下一个规则
- 返回验证结果:
valid: errors 数组是否为空errors: 所有错误信息数组
示例:
typescript
const result = validate('abc', [
(v) => v.length >= 5 || '长度至少5个字符',
(v) => /\d/.test(v) || '必须包含数字'
])
// result = {
// valid: false,
// errors: ['长度至少5个字符', '必须包含数字']
// }支持自定义验证规则,规则可返回 boolean 或错误信息字符串。