# async-validator
# pattern源码实现
import { Rule, ValidateError } from "async-validator";
export function pattern(rule: Rule, value: any, callback: (error?: ValidateError) => void) {
if (rule.pattern instanceof RegExp) {
if (!rule.pattern.test(String(value))) {
callback({ message: rule.message || "字段格式不正确" });
} else {
callback();
}
} else if (typeof rule.pattern === "string") {
const pattern = new RegExp(rule.pattern);
if (!pattern.test(String(value))) {
callback({ message: rule.message || "字段格式不正确" });
} else {
callback();
}
} else {
callback();
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20