check-data
Advanced tools
Comparing version 1.7.2 to 1.7.4
25
index.js
@@ -66,6 +66,6 @@ "use strict" | ||
if (fun) { | ||
let { err, data: subData } = fun({ data, option: options[name], input: this.data }) | ||
if (err) { | ||
let { error, data: subData } = fun({ data, option: options[name], input: this.data }) | ||
if (error) { | ||
return { | ||
error: `${field}${err}` | ||
error: `${field}${error}` | ||
} | ||
@@ -93,3 +93,4 @@ } | ||
let [itemOptions] = options | ||
let [itemOptions, allowNull] = options | ||
if (Array.isArray(data)) { | ||
@@ -104,11 +105,19 @@ if (itemOptions.allowNull === false) { | ||
} else { | ||
if (itemOptions.allowNull === false) { | ||
return { | ||
error: `${key}必须为数组` | ||
if (data === undefined || data === '') { | ||
if (allowNull) { | ||
return { | ||
data: undefined | ||
} | ||
} else { | ||
return { | ||
error: `${key}数组不能为空` | ||
} | ||
} | ||
} else { | ||
return { | ||
data: undefined | ||
error: `${key}必须为数组类型` | ||
} | ||
} | ||
} | ||
@@ -115,0 +124,0 @@ |
@@ -24,3 +24,3 @@ "use strict" | ||
if (input[name] === undefined || input[name] === '') { | ||
return { err: `必须与${name}参数同时存在` } | ||
return { error: `必须与${name}参数同时存在` } | ||
} | ||
@@ -45,3 +45,3 @@ } | ||
if (status) { | ||
return { err: `必须至少与[${option}]参数中的一个同时存在` } | ||
return { error: `必须至少与[${option}]参数中的一个同时存在` } | ||
} | ||
@@ -61,3 +61,3 @@ } | ||
} else { | ||
return { err: '必须为字符串' } | ||
return { error: '必须为字符串' } | ||
} | ||
@@ -68,3 +68,3 @@ }, | ||
if (data.length < minLength) { | ||
return { err: `长度不能小于${minLength}个字符` } | ||
return { error: `长度不能小于${minLength}个字符` } | ||
} else { | ||
@@ -77,3 +77,3 @@ return { data } | ||
if (data.length > maxLength) { | ||
return { err: `长度不能大于${maxLength}个字符` } | ||
return { error: `长度不能大于${maxLength}个字符` } | ||
} else { | ||
@@ -86,3 +86,3 @@ return { data } | ||
if (data.search(reg) === -1) { | ||
return { err: '格式错误' } | ||
return { error: '格式错误' } | ||
} else { | ||
@@ -96,3 +96,3 @@ return { data } | ||
if (result === -1) { | ||
return { err: `值必须为[${arr}]选项其中之一` } | ||
return { error: `值必须为[${arr}]选项其中之一` } | ||
} else { | ||
@@ -106,3 +106,3 @@ return { data } | ||
if (isNaN(data)) { | ||
return { err: '必须为数值类型' } | ||
return { error: '必须为数值类型' } | ||
} else { | ||
@@ -114,3 +114,3 @@ return { data: Number(data) } | ||
if (data < min) { | ||
return { err: `不能小于${min}` } | ||
return { error: `不能小于${min}` } | ||
} else { | ||
@@ -122,3 +122,3 @@ return { data } | ||
if (data > max) { | ||
return { err: `不能大于${max}` } | ||
return { error: `不能大于${max}` } | ||
} else { | ||
@@ -132,3 +132,3 @@ return { data } | ||
if (result === -1) { | ||
return { err: `值必须为${arr}中的一个` } | ||
return { error: `值必须为${arr}中的一个` } | ||
} else { | ||
@@ -152,3 +152,3 @@ return { data } | ||
if (typeof data !== 'object') { | ||
return { err: '必须为对象' } | ||
return { error: '必须为对象' } | ||
} else { | ||
@@ -162,7 +162,21 @@ return { data } | ||
if (!Array.isArray(data)) { | ||
return { err: '必须为数组' } | ||
return { error: '必须为数组' } | ||
} else { | ||
return { data } | ||
} | ||
} | ||
}, | ||
minLength({ data, option: minLength }) { | ||
if (data.length < minLength) { | ||
return { error: `长度不能小于${minLength}个字符` } | ||
} else { | ||
return { data } | ||
} | ||
}, | ||
maxLength({ data, option: maxLength }) { | ||
if (data.length > maxLength) { | ||
return { error: `长度不能大于${maxLength}个字符` } | ||
} else { | ||
return { data } | ||
} | ||
}, | ||
}, | ||
@@ -172,3 +186,3 @@ [Date]: { | ||
if (!validator.toDate(data + '')) { | ||
return { err: '必须为日期类型' } | ||
return { error: '必须为日期类型' } | ||
} else { | ||
@@ -182,3 +196,3 @@ return { data } | ||
if (typeof data !== 'boolean') { | ||
return { err: '必须为布尔值' } | ||
return { error: '必须为布尔值' } | ||
} else { | ||
@@ -195,3 +209,3 @@ return { data } | ||
} else { | ||
return { err: '必须为MongoId' } | ||
return { error: '必须为MongoId' } | ||
} | ||
@@ -206,3 +220,3 @@ }, | ||
} else { | ||
return { err: '必须为手机号' } | ||
return { error: '必须为手机号' } | ||
} | ||
@@ -217,3 +231,3 @@ }, | ||
} else { | ||
return { err: '必须为Email格式' } | ||
return { error: '必须为Email格式' } | ||
} | ||
@@ -220,0 +234,0 @@ }, |
{ | ||
"name": "check-data", | ||
"version": "1.7.2", | ||
"version": "1.7.4", | ||
"description": "JS对象验证器", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
@@ -36,3 +36,2 @@ "use strict" | ||
"addressee": "嘟嘟", | ||
"receiveAddress": "快点", | ||
"phone": "18565799072", | ||
@@ -100,3 +99,3 @@ "coupon": "uuuu", | ||
"allowNull": false, | ||
}], | ||
}, false], | ||
"guaranteeFormat": { | ||
@@ -106,5 +105,3 @@ "type": Number, | ||
}, | ||
"addressee": { | ||
"type": String, | ||
}, | ||
"addressee": String, | ||
"search": { | ||
@@ -117,3 +114,2 @@ "type": String, | ||
}, | ||
"receiveAddress": String, | ||
"coupon": { | ||
@@ -120,0 +116,0 @@ "type": String, |
27084
659