|
@@ -7,8 +7,8 @@
|
|
|
* 版权:广州流辰信息技术有限公司
|
|
* 版权:广州流辰信息技术有限公司
|
|
|
* </pre>
|
|
* </pre>
|
|
|
*/
|
|
*/
|
|
|
-import i18n from '@/utils/i18n'
|
|
|
|
|
-import utils from '@/utils/util'
|
|
|
|
|
|
|
+import i18n from "@/utils/i18n";
|
|
|
|
|
+import utils from "@/utils/util";
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 字段验证
|
|
* 字段验证
|
|
@@ -17,13 +17,13 @@ import utils from '@/utils/util'
|
|
|
* @param {*} callback
|
|
* @param {*} callback
|
|
|
*/
|
|
*/
|
|
|
export function testField(rule, value, callback) {
|
|
export function testField(rule, value, callback) {
|
|
|
- const res = /^[A-Za-z]{1}([a-zA-Z0-9_]{1,17})$/
|
|
|
|
|
|
|
+ const res = /^[A-Za-z]{1}([a-zA-Z0-9_]{1,17})$/;
|
|
|
if (!res.test(value) && value.length < 19) {
|
|
if (!res.test(value) && value.length < 19) {
|
|
|
- callback(new Error('首字符为字母,其它只允许为字母、数字或下划线!'))
|
|
|
|
|
|
|
+ callback(new Error("首字符为字母,其它只允许为字母、数字或下划线!"));
|
|
|
} else if ((!res.test(value) || res.test(value)) && value.length > 19) {
|
|
} else if ((!res.test(value) || res.test(value)) && value.length > 19) {
|
|
|
- callback(new Error('长度不超过18字符'))
|
|
|
|
|
|
|
+ callback(new Error("长度不超过18字符"));
|
|
|
} else {
|
|
} else {
|
|
|
- callback()
|
|
|
|
|
|
|
+ callback();
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -34,15 +34,15 @@ export function testField(rule, value, callback) {
|
|
|
* @param {*} callback
|
|
* @param {*} callback
|
|
|
*/
|
|
*/
|
|
|
export function validateEmpty(rule, value, callback) {
|
|
export function validateEmpty(rule, value, callback) {
|
|
|
- const pattern = /\s/
|
|
|
|
|
|
|
+ const pattern = /\s/;
|
|
|
if (rule.required) {
|
|
if (rule.required) {
|
|
|
- callback(new Error(rule.message || i18n.t('validate.required')))
|
|
|
|
|
|
|
+ callback(new Error(rule.message || i18n.t("validate.required")));
|
|
|
} else {
|
|
} else {
|
|
|
if (pattern.test(value)) {
|
|
if (pattern.test(value)) {
|
|
|
- callback(new Error('字符请勿携带空格'))
|
|
|
|
|
- return
|
|
|
|
|
|
|
+ callback(new Error("字符请勿携带空格"));
|
|
|
|
|
+ return;
|
|
|
}
|
|
}
|
|
|
- callback()
|
|
|
|
|
|
|
+ callback();
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -54,10 +54,10 @@ export function validateEmpty(rule, value, callback) {
|
|
|
*/
|
|
*/
|
|
|
export function validateRequired(rule, value, callback) {
|
|
export function validateRequired(rule, value, callback) {
|
|
|
if (utils.isEmpty(utils.trim(value))) {
|
|
if (utils.isEmpty(utils.trim(value))) {
|
|
|
- callback(new Error(rule.message || i18n.t('validate.required')))
|
|
|
|
|
- return
|
|
|
|
|
|
|
+ callback(new Error(rule.message || i18n.t("validate.required")));
|
|
|
|
|
+ return;
|
|
|
}
|
|
}
|
|
|
- callback()
|
|
|
|
|
|
|
+ callback();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -66,9 +66,9 @@ export function validateRequired(rule, value, callback) {
|
|
|
*/
|
|
*/
|
|
|
export function isNumber(value) {
|
|
export function isNumber(value) {
|
|
|
if (isNaN(value)) {
|
|
if (isNaN(value)) {
|
|
|
- return false
|
|
|
|
|
|
|
+ return false;
|
|
|
}
|
|
}
|
|
|
- return typeof value === 'number'
|
|
|
|
|
|
|
+ return typeof value === "number";
|
|
|
}
|
|
}
|
|
|
/**
|
|
/**
|
|
|
* 验证整数
|
|
* 验证整数
|
|
@@ -78,27 +78,27 @@ export function isNumber(value) {
|
|
|
*/
|
|
*/
|
|
|
export const validateInteger = (rule, value, callback) => {
|
|
export const validateInteger = (rule, value, callback) => {
|
|
|
if (utils.isEmpty(value)) {
|
|
if (utils.isEmpty(value)) {
|
|
|
- return validateEmpty(rule, value, callback)
|
|
|
|
|
|
|
+ return validateEmpty(rule, value, callback);
|
|
|
}
|
|
}
|
|
|
- value = Number(value)
|
|
|
|
|
|
|
+ value = Number(value);
|
|
|
if (isNumber(value) && parseInt(value, 10) === value && value <= 2147483647) {
|
|
if (isNumber(value) && parseInt(value, 10) === value && value <= 2147483647) {
|
|
|
- callback()
|
|
|
|
|
|
|
+ callback();
|
|
|
} else {
|
|
} else {
|
|
|
- callback(new Error(rule.message || i18n.t('validate.integer')))
|
|
|
|
|
|
|
+ callback(new Error(rule.message || i18n.t("validate.integer")));
|
|
|
}
|
|
}
|
|
|
-}
|
|
|
|
|
|
|
+};
|
|
|
|
|
|
|
|
export const validateFloat = (rule, value, callback) => {
|
|
export const validateFloat = (rule, value, callback) => {
|
|
|
if (utils.isEmpty(value)) {
|
|
if (utils.isEmpty(value)) {
|
|
|
- return validateEmpty(rule, value, callback)
|
|
|
|
|
|
|
+ return validateEmpty(rule, value, callback);
|
|
|
}
|
|
}
|
|
|
- const re = /^-?\d*\.\d+$/
|
|
|
|
|
|
|
+ const re = /^-?\d*\.\d+$/;
|
|
|
if (!re.test(value) || !isNumber(Number(value))) {
|
|
if (!re.test(value) || !isNumber(Number(value))) {
|
|
|
- callback(new Error('填写只能为浮点型'))
|
|
|
|
|
|
|
+ callback(new Error("填写只能为浮点型"));
|
|
|
} else {
|
|
} else {
|
|
|
- callback()
|
|
|
|
|
|
|
+ callback();
|
|
|
}
|
|
}
|
|
|
-}
|
|
|
|
|
|
|
+};
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 验证key或者变量
|
|
* 验证key或者变量
|
|
@@ -106,8 +106,8 @@ export const validateFloat = (rule, value, callback) => {
|
|
|
* @param {*} str
|
|
* @param {*} str
|
|
|
*/
|
|
*/
|
|
|
export function testKey(str) {
|
|
export function testKey(str) {
|
|
|
- const reg = /^[a-zA-Z][a-zA-Z0-9_]*$/
|
|
|
|
|
- return reg.test(str)
|
|
|
|
|
|
|
+ const reg = /^[a-zA-Z][a-zA-Z0-9_]*$/;
|
|
|
|
|
+ return reg.test(str);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -116,8 +116,8 @@ export function testKey(str) {
|
|
|
* @param {*} str
|
|
* @param {*} str
|
|
|
*/
|
|
*/
|
|
|
export function testBizKey(str) {
|
|
export function testBizKey(str) {
|
|
|
- const reg = /^[a-zA-Z][a-zA-Z0-9_-]*$/
|
|
|
|
|
- return reg.test(str)
|
|
|
|
|
|
|
+ const reg = /^[a-zA-Z][a-zA-Z0-9_-]*$/;
|
|
|
|
|
+ return reg.test(str);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -126,8 +126,8 @@ export function testBizKey(str) {
|
|
|
* @param {*} str
|
|
* @param {*} str
|
|
|
*/
|
|
*/
|
|
|
export function testUpperCaseKey(str) {
|
|
export function testUpperCaseKey(str) {
|
|
|
- const reg = /^[A-Z][a-zA-Z0-9]*$/
|
|
|
|
|
- return reg.test(str)
|
|
|
|
|
|
|
+ const reg = /^[A-Z][a-zA-Z0-9]*$/;
|
|
|
|
|
+ return reg.test(str);
|
|
|
}
|
|
}
|
|
|
/**
|
|
/**
|
|
|
* 验证类名key
|
|
* 验证类名key
|
|
@@ -137,14 +137,14 @@ export function testUpperCaseKey(str) {
|
|
|
*/
|
|
*/
|
|
|
export const validateUpperCaseKey = (rule, value, callback) => {
|
|
export const validateUpperCaseKey = (rule, value, callback) => {
|
|
|
if (utils.isEmpty(value)) {
|
|
if (utils.isEmpty(value)) {
|
|
|
- return validateEmpty(rule, value, callback)
|
|
|
|
|
|
|
+ return validateEmpty(rule, value, callback);
|
|
|
}
|
|
}
|
|
|
if (!testUpperCaseKey(value)) {
|
|
if (!testUpperCaseKey(value)) {
|
|
|
- callback(new Error('规则不合法,只能以大写字母开头,允许字母、数字!'))
|
|
|
|
|
|
|
+ callback(new Error("规则不合法,只能以大写字母开头,允许字母、数字!"));
|
|
|
} else {
|
|
} else {
|
|
|
- callback()
|
|
|
|
|
|
|
+ callback();
|
|
|
}
|
|
}
|
|
|
-}
|
|
|
|
|
|
|
+};
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 验证key
|
|
* 验证key
|
|
@@ -154,19 +154,19 @@ export const validateUpperCaseKey = (rule, value, callback) => {
|
|
|
*/
|
|
*/
|
|
|
export const validateKey = (rule, value, callback) => {
|
|
export const validateKey = (rule, value, callback) => {
|
|
|
if (utils.isEmpty(value)) {
|
|
if (utils.isEmpty(value)) {
|
|
|
- return validateEmpty(rule, value, callback)
|
|
|
|
|
|
|
+ return validateEmpty(rule, value, callback);
|
|
|
}
|
|
}
|
|
|
if (!testKey(value)) {
|
|
if (!testKey(value)) {
|
|
|
- callback(new Error(rule.message || i18n.t('validate.key')))
|
|
|
|
|
|
|
+ callback(new Error(rule.message || i18n.t("validate.key")));
|
|
|
} else {
|
|
} else {
|
|
|
- callback()
|
|
|
|
|
|
|
+ callback();
|
|
|
}
|
|
}
|
|
|
-}
|
|
|
|
|
|
|
+};
|
|
|
|
|
|
|
|
/* 合法url */
|
|
/* 合法url */
|
|
|
export function testURL(textval) {
|
|
export function testURL(textval) {
|
|
|
- const urlregex = /^(https?|ftp):\/\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\/($|[a-zA-Z0-9.,?'\\+&%$#=~_-]+))*$/
|
|
|
|
|
- return urlregex.test(textval)
|
|
|
|
|
|
|
+ const urlregex = /^(https?|ftp):\/\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\/($|[a-zA-Z0-9.,?'\\+&%$#=~_-]+))*$/;
|
|
|
|
|
+ return urlregex.test(textval);
|
|
|
}
|
|
}
|
|
|
/**
|
|
/**
|
|
|
* 验证url
|
|
* 验证url
|
|
@@ -176,19 +176,19 @@ export function testURL(textval) {
|
|
|
*/
|
|
*/
|
|
|
export const validateURL = (rule, value, callback) => {
|
|
export const validateURL = (rule, value, callback) => {
|
|
|
if (utils.isEmpty(value)) {
|
|
if (utils.isEmpty(value)) {
|
|
|
- return validateEmpty(rule, value, callback)
|
|
|
|
|
|
|
+ return validateEmpty(rule, value, callback);
|
|
|
}
|
|
}
|
|
|
if (!testURL(value)) {
|
|
if (!testURL(value)) {
|
|
|
- callback(new Error(rule.message || i18n.t('validate.url')))
|
|
|
|
|
|
|
+ callback(new Error(rule.message || i18n.t("validate.url")));
|
|
|
} else {
|
|
} else {
|
|
|
- callback()
|
|
|
|
|
|
|
+ callback();
|
|
|
}
|
|
}
|
|
|
-}
|
|
|
|
|
|
|
+};
|
|
|
|
|
|
|
|
/* 小写字母 */
|
|
/* 小写字母 */
|
|
|
export function testLowerCase(str) {
|
|
export function testLowerCase(str) {
|
|
|
- const reg = /^[a-z]+$/
|
|
|
|
|
- return reg.test(str)
|
|
|
|
|
|
|
+ const reg = /^[a-z]+$/;
|
|
|
|
|
+ return reg.test(str);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -199,19 +199,19 @@ export function testLowerCase(str) {
|
|
|
*/
|
|
*/
|
|
|
export const validateLowerCase = (rule, value, callback) => {
|
|
export const validateLowerCase = (rule, value, callback) => {
|
|
|
if (utils.isEmpty(value)) {
|
|
if (utils.isEmpty(value)) {
|
|
|
- return validateEmpty(rule, value, callback)
|
|
|
|
|
|
|
+ return validateEmpty(rule, value, callback);
|
|
|
}
|
|
}
|
|
|
if (!testLowerCase(value)) {
|
|
if (!testLowerCase(value)) {
|
|
|
- callback(new Error(rule.message || i18n.t('validate.lowerCase')))
|
|
|
|
|
|
|
+ callback(new Error(rule.message || i18n.t("validate.lowerCase")));
|
|
|
} else {
|
|
} else {
|
|
|
- callback()
|
|
|
|
|
|
|
+ callback();
|
|
|
}
|
|
}
|
|
|
-}
|
|
|
|
|
|
|
+};
|
|
|
|
|
|
|
|
/* 大写字母 */
|
|
/* 大写字母 */
|
|
|
export function testUpperCase(str) {
|
|
export function testUpperCase(str) {
|
|
|
- const reg = /^[A-Z]+$/
|
|
|
|
|
- return reg.test(str)
|
|
|
|
|
|
|
+ const reg = /^[A-Z]+$/;
|
|
|
|
|
+ return reg.test(str);
|
|
|
}
|
|
}
|
|
|
/**
|
|
/**
|
|
|
* 验证大写字母
|
|
* 验证大写字母
|
|
@@ -221,19 +221,19 @@ export function testUpperCase(str) {
|
|
|
*/
|
|
*/
|
|
|
export const validateUpperCase = (rule, value, callback) => {
|
|
export const validateUpperCase = (rule, value, callback) => {
|
|
|
if (utils.isEmpty(value)) {
|
|
if (utils.isEmpty(value)) {
|
|
|
- return validateEmpty(rule, value, callback)
|
|
|
|
|
|
|
+ return validateEmpty(rule, value, callback);
|
|
|
}
|
|
}
|
|
|
if (!testUpperCase(value)) {
|
|
if (!testUpperCase(value)) {
|
|
|
- callback(new Error(rule.message || i18n.t('validate.upperCase')))
|
|
|
|
|
|
|
+ callback(new Error(rule.message || i18n.t("validate.upperCase")));
|
|
|
} else {
|
|
} else {
|
|
|
- callback()
|
|
|
|
|
|
|
+ callback();
|
|
|
}
|
|
}
|
|
|
-}
|
|
|
|
|
|
|
+};
|
|
|
|
|
|
|
|
/* 大小写字母 */
|
|
/* 大小写字母 */
|
|
|
export function testAlphabets(str) {
|
|
export function testAlphabets(str) {
|
|
|
- const reg = /^[A-Za-z]+$/
|
|
|
|
|
- return reg.test(str)
|
|
|
|
|
|
|
+ const reg = /^[A-Za-z]+$/;
|
|
|
|
|
+ return reg.test(str);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -244,14 +244,14 @@ export function testAlphabets(str) {
|
|
|
*/
|
|
*/
|
|
|
export const validatAlphabets = (rule, value, callback) => {
|
|
export const validatAlphabets = (rule, value, callback) => {
|
|
|
if (utils.isEmpty(value)) {
|
|
if (utils.isEmpty(value)) {
|
|
|
- return validateEmpty(rule, value, callback)
|
|
|
|
|
|
|
+ return validateEmpty(rule, value, callback);
|
|
|
}
|
|
}
|
|
|
if (!testAlphabets(value)) {
|
|
if (!testAlphabets(value)) {
|
|
|
- callback(new Error(rule.message || i18n.t('validate.alphabets')))
|
|
|
|
|
|
|
+ callback(new Error(rule.message || i18n.t("validate.alphabets")));
|
|
|
} else {
|
|
} else {
|
|
|
- callback()
|
|
|
|
|
|
|
+ callback();
|
|
|
}
|
|
}
|
|
|
-}
|
|
|
|
|
|
|
+};
|
|
|
/**
|
|
/**
|
|
|
* 多少选项
|
|
* 多少选项
|
|
|
* @param {*} rule
|
|
* @param {*} rule
|
|
@@ -260,28 +260,28 @@ export const validatAlphabets = (rule, value, callback) => {
|
|
|
*/
|
|
*/
|
|
|
export const validateOptions = (rule, value, callback) => {
|
|
export const validateOptions = (rule, value, callback) => {
|
|
|
if (utils.isEmpty(value)) {
|
|
if (utils.isEmpty(value)) {
|
|
|
- return validateEmpty(rule, value, callback)
|
|
|
|
|
|
|
+ return validateEmpty(rule, value, callback);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- let arrayValue = []
|
|
|
|
|
|
|
+ let arrayValue = [];
|
|
|
if (utils.isArray(value)) {
|
|
if (utils.isArray(value)) {
|
|
|
- arrayValue = value
|
|
|
|
|
|
|
+ arrayValue = value;
|
|
|
} else {
|
|
} else {
|
|
|
- arrayValue = value.split(',') || []
|
|
|
|
|
|
|
+ arrayValue = value.split(",") || [];
|
|
|
}
|
|
}
|
|
|
- const item = arrayValue.length
|
|
|
|
|
- const min = rule.min
|
|
|
|
|
- const max = rule.max
|
|
|
|
|
|
|
+ const item = arrayValue.length;
|
|
|
|
|
+ const min = rule.min;
|
|
|
|
|
+ const max = rule.max;
|
|
|
if (min && !max && item < min) {
|
|
if (min && !max && item < min) {
|
|
|
- callback(new Error(rule.message || `至少选择 ${min}项`))
|
|
|
|
|
|
|
+ callback(new Error(rule.message || `至少选择 ${min}项`));
|
|
|
} else if (max && !min && item > max) {
|
|
} else if (max && !min && item > max) {
|
|
|
- callback(new Error(rule.message || `最多选择 ${max}项`))
|
|
|
|
|
|
|
+ callback(new Error(rule.message || `最多选择 ${max}项`));
|
|
|
} else if (min && max && (item < min || item > max)) {
|
|
} else if (min && max && (item < min || item > max)) {
|
|
|
- callback(new Error(rule.message || `选择的选项在${min}至${max}项`))
|
|
|
|
|
|
|
+ callback(new Error(rule.message || `选择的选项在${min}至${max}项`));
|
|
|
} else {
|
|
} else {
|
|
|
- callback()
|
|
|
|
|
|
|
+ callback();
|
|
|
}
|
|
}
|
|
|
-}
|
|
|
|
|
|
|
+};
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 验证长度
|
|
* 验证长度
|
|
@@ -290,58 +290,64 @@ export const validateOptions = (rule, value, callback) => {
|
|
|
* @param {*} callback
|
|
* @param {*} callback
|
|
|
*/
|
|
*/
|
|
|
export const validateLengthRange = (rule, value, callback) => {
|
|
export const validateLengthRange = (rule, value, callback) => {
|
|
|
- const min = typeof rule.min === 'number'
|
|
|
|
|
- const max = typeof rule.max === 'number'
|
|
|
|
|
|
|
+ const min = typeof rule.min === "number";
|
|
|
|
|
+ const max = typeof rule.max === "number";
|
|
|
if (utils.isEmpty(value)) {
|
|
if (utils.isEmpty(value)) {
|
|
|
- callback()
|
|
|
|
|
- return
|
|
|
|
|
|
|
+ callback();
|
|
|
|
|
+ return;
|
|
|
}
|
|
}
|
|
|
- let val = value
|
|
|
|
|
|
|
+ let val = value;
|
|
|
if (rule.format) {
|
|
if (rule.format) {
|
|
|
- val = rule.format(val)
|
|
|
|
|
|
|
+ val = rule.format(val);
|
|
|
}
|
|
}
|
|
|
- const length = val.length
|
|
|
|
|
|
|
+ const length = val.length;
|
|
|
if (min && !max && length < rule.min) {
|
|
if (min && !max && length < rule.min) {
|
|
|
- callback(new Error(rule.message || `最少填写${rule.min}个字符`))
|
|
|
|
|
|
|
+ callback(new Error(rule.message || `最少填写${rule.min}个字符`));
|
|
|
} else if (max && !min && length > rule.max) {
|
|
} else if (max && !min && length > rule.max) {
|
|
|
- callback(new Error(rule.message || `最多填写${rule.max}个字符`))
|
|
|
|
|
|
|
+ callback(new Error(rule.message || `最多填写${rule.max}个字符`));
|
|
|
} else if (min && max && (length < rule.min || length > rule.max)) {
|
|
} else if (min && max && (length < rule.min || length > rule.max)) {
|
|
|
if (rule.min === rule.max) {
|
|
if (rule.min === rule.max) {
|
|
|
- callback(new Error(rule.message || `必须填写${rule.min}个字符`))
|
|
|
|
|
|
|
+ callback(new Error(rule.message || `必须填写${rule.min}个字符`));
|
|
|
} else {
|
|
} else {
|
|
|
- callback(new Error(rule.message || `填写字符个数在 ${rule.min} - ${rule.max}之间`))
|
|
|
|
|
|
|
+ callback(
|
|
|
|
|
+ new Error(
|
|
|
|
|
+ rule.message || `填写字符个数在 ${rule.min} - ${rule.max}之间`
|
|
|
|
|
+ )
|
|
|
|
|
+ );
|
|
|
}
|
|
}
|
|
|
} else {
|
|
} else {
|
|
|
- callback()
|
|
|
|
|
|
|
+ callback();
|
|
|
}
|
|
}
|
|
|
-}
|
|
|
|
|
|
|
+};
|
|
|
|
|
|
|
|
export const validateNumberRange = (rule, value, callback) => {
|
|
export const validateNumberRange = (rule, value, callback) => {
|
|
|
- const min = typeof rule.min === 'number'
|
|
|
|
|
- const max = typeof rule.max === 'number'
|
|
|
|
|
|
|
+ const min = typeof rule.min === "number";
|
|
|
|
|
+ const max = typeof rule.max === "number";
|
|
|
if (utils.isEmpty(value)) {
|
|
if (utils.isEmpty(value)) {
|
|
|
- callback()
|
|
|
|
|
- return
|
|
|
|
|
|
|
+ callback();
|
|
|
|
|
+ return;
|
|
|
}
|
|
}
|
|
|
if (utils.isNumber(value)) {
|
|
if (utils.isNumber(value)) {
|
|
|
- callback(new Error('无效数字'))
|
|
|
|
|
- return
|
|
|
|
|
|
|
+ callback(new Error("无效数字"));
|
|
|
|
|
+ return;
|
|
|
}
|
|
}
|
|
|
- const val = Number(value)
|
|
|
|
|
|
|
+ const val = Number(value);
|
|
|
if (min && !max && val < rule.min) {
|
|
if (min && !max && val < rule.min) {
|
|
|
- callback(new Error(rule.message || `必须大于或等于${rule.min}`))
|
|
|
|
|
|
|
+ callback(new Error(rule.message || `必须大于或等于${rule.min}`));
|
|
|
} else if (max && !min && val > rule.max) {
|
|
} else if (max && !min && val > rule.max) {
|
|
|
- callback(new Error(rule.message || `必须小于或等于${rule.max}`))
|
|
|
|
|
|
|
+ callback(new Error(rule.message || `必须小于或等于${rule.max}`));
|
|
|
} else if (min && max && (val < rule.min || val > rule.max)) {
|
|
} else if (min && max && (val < rule.min || val > rule.max)) {
|
|
|
if (rule.min === rule.max) {
|
|
if (rule.min === rule.max) {
|
|
|
- callback(new Error(rule.message || `必须填写为${rule.min}`))
|
|
|
|
|
|
|
+ callback(new Error(rule.message || `必须填写为${rule.min}`));
|
|
|
} else {
|
|
} else {
|
|
|
- callback(new Error(rule.message || `必须在 ${rule.min} 到 ${rule.max}之间`))
|
|
|
|
|
|
|
+ callback(
|
|
|
|
|
+ new Error(rule.message || `必须在 ${rule.min} 到 ${rule.max}之间`)
|
|
|
|
|
+ );
|
|
|
}
|
|
}
|
|
|
} else {
|
|
} else {
|
|
|
- callback()
|
|
|
|
|
|
|
+ callback();
|
|
|
}
|
|
}
|
|
|
-}
|
|
|
|
|
|
|
+};
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 验证小数位
|
|
* 验证小数位
|
|
@@ -351,32 +357,31 @@ export const validateNumberRange = (rule, value, callback) => {
|
|
|
*/
|
|
*/
|
|
|
export const validateDecimal = (rule, value, callback) => {
|
|
export const validateDecimal = (rule, value, callback) => {
|
|
|
if (utils.isEmpty(value)) {
|
|
if (utils.isEmpty(value)) {
|
|
|
- return validateEmpty(rule, value, callback)
|
|
|
|
|
|
|
+ return validateEmpty(rule, value, callback);
|
|
|
}
|
|
}
|
|
|
- const len = (value + '').replace(/^[^.]*[.]*/, '').length
|
|
|
|
|
|
|
+ const len = (value + "").replace(/^[^.]*[.]*/, "").length;
|
|
|
if (len > rule.decimal) {
|
|
if (len > rule.decimal) {
|
|
|
- callback(new Error(rule.message || `小数位不能超过${rule.decimal}位`))
|
|
|
|
|
|
|
+ callback(new Error(rule.message || `小数位不能超过${rule.decimal}位`));
|
|
|
} else {
|
|
} else {
|
|
|
- callback()
|
|
|
|
|
|
|
+ callback();
|
|
|
}
|
|
}
|
|
|
-}
|
|
|
|
|
|
|
+};
|
|
|
|
|
|
|
|
export const validateDateBetween = (rule, value, callback) => {
|
|
export const validateDateBetween = (rule, value, callback) => {
|
|
|
if (utils.isEmpty(value)) {
|
|
if (utils.isEmpty(value)) {
|
|
|
- return validateEmpty(rule, value, callback)
|
|
|
|
|
|
|
+ return validateEmpty(rule, value, callback);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- callback()
|
|
|
|
|
-}
|
|
|
|
|
|
|
+ callback();
|
|
|
|
|
+};
|
|
|
|
|
|
|
|
export const validatePattern = (rule, value, callback) => {
|
|
export const validatePattern = (rule, value, callback) => {
|
|
|
if (utils.isEmpty(value)) {
|
|
if (utils.isEmpty(value)) {
|
|
|
- return validateEmpty(rule, value, callback)
|
|
|
|
|
|
|
+ return validateEmpty(rule, value, callback);
|
|
|
}
|
|
}
|
|
|
- if (rule.dataFormat && !rule.dataFormat.test(value)) {
|
|
|
|
|
- callback(new Error(rule.message || `请按正确格式输入`))
|
|
|
|
|
|
|
+ if (rule.dataFormat && !new RegExp(rule.dataFormat).test(value)) {
|
|
|
|
|
+ callback(new Error(rule.message || `请按正确格式输入`));
|
|
|
} else {
|
|
} else {
|
|
|
- callback()
|
|
|
|
|
|
|
+ callback();
|
|
|
}
|
|
}
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
|
|
+};
|