UNPKG

validate-types

Version:

Validate object properties against type schema

37 lines (35 loc) 1.25 kB
var isPlainObject = require('../lib/is-plain-object'); var typeTest = require('./type'); module.exports = { name: 'arraySchema', validate: function(params) { if (!params.testConfig) { return true; } if (isPlainObject(params.testConfig)) { return params.fieldValue.every(function(item, index) { var result = params.validator(params.testConfig, item); result.errors.forEach(function(error) { error.field = '[' + index + '].' + error.field; params.addChildError(error); }); return result.hasErrors === false; }); } else { return params.fieldValue.every(function(item, index) { var result = typeTest.validate({ fieldValue: item, testConfig: params.testConfig }); !result && params.addChildError({ field: '[' + index + ']', test: 'type' }); return result; }); } }, message: function(params) { return 'Field "' + params.fieldName + '" is not valid array'; } };