-
Notifications
You must be signed in to change notification settings - Fork 0
/
checkCommon.ts
110 lines (105 loc) · 2.36 KB
/
checkCommon.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
import { CheckParamsBase } from "../checkParamsBase";
import { CheckResult } from "../checkResult";
import { isNull, isEmpty } from "../util";
/**
* <pre>
* 内部方法。
* 检查是否允许为空
* </pre>
*
* @export
* @param {string} value
* @param {CheckParamsBase} [params]
* @returns {CheckResult}
*/
export function checkCanNullOrEmpty(value: string, params?: CheckParamsBase): CheckResult {
if (params) {
if (isNull(value)) {
// 值为空时
if (params.canNull || params.canNullOrEmpty) {
// 验证要求可以为空
return new CheckResult(true);
} else {
//验证要求不可以为空
return new CheckResult(false, {
code: `ERROR_CANNOT_NULL`,
en: `can not be empty`,
cn: `不能为空`
});
}
} else if (isEmpty(value)) {
// 值为空字符串时
if (params.canEmpty || params.canNullOrEmpty) {
return new CheckResult(true);
} else {
return new CheckResult(false, {
code: `ERROR_CANNOT_EMPTY`,
en: `can not be empty`,
cn: `不能为空`
});
}
}
}
return null;
}
/**
* <pre>
* 内部访法
* 校验正则表达式数组,所有正则都通过返回true
* </pre>
*
* @export
* @param {Array<any>} regList
* @param {string} value
* @returns
*/
export function checkRegs(regList: Array<any>, value: string) {
for (let reg of regList) {
if (reg.test(value)) {
return true;
}
}
return false;
}
/**
* 检查最大值是否满足要求
*
* @export
* @param {string} value
* @param {number} max
* @returns
*/
export function checkMaxValue(value: string, max: number) {
let valueOfInt = Number(value);
if (!isNull(max)) {
if (valueOfInt > max) {
return new CheckResult(false, {
code: "ERROR_MAX",
en: `can not be more than ${max}`,
cn: `不能大于${max}`
});
}
}
return null;
}
/**
* 检查最小值是否满足要求
*
* @export
* @param {string} value
* @param {number} min
* @returns
*/
export function checkMinValue(value: string, min: number) {
let valueOfInt = Number(value);
if (!isNull(min)) {
if (valueOfInt < min) {
return new CheckResult(false, {
code: "ERROR_MIN",
en: `can not be less than ${min}`,
cn: `不能小于${min}`
});
}
}
return null;
}