diff --git a/CHANGELOG.md b/CHANGELOG.md index f21735a..f111483 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # ChangeLog +## 2020-07-05 (0.0.7) + +- fix array check contains type + ## 2020-07-04 (0.0.6) - add array validate contains type diff --git a/package.json b/package.json index d038914..262e48e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mtfos-validator", - "version": "0.0.6", + "version": "0.0.7", "description": "", "main": "index.js", "scripts": { diff --git a/types/array.js b/types/array.js index 17c9a27..11a5060 100644 --- a/types/array.js +++ b/types/array.js @@ -61,20 +61,22 @@ class TypeArray extends Base { if (this._min !== null && value.length < this._min) return `value length < ${this._min}` if (this._max !== null && value.length > this._max) return `value length > ${this._max}` - for (const item of value) { - let verified = false - let fail = '' - for (const type of this._itemTypes) { - const result = type.validate(item) - if (result) { - fail = result - } else { - verified = true - fail = '' - break + if (this._itemTypes.length > 0) { + for (const item of value) { + let verified = false + let fail = '' + for (const type of this._itemTypes) { + const result = type.validate(item) + if (result) { + fail = result + } else { + verified = true + fail = '' + break + } } + if (!verified || fail) return fail || `item type not match` } - if (!verified || fail) return fail || `item type not match` } return null