UNPKG

verificator

Version:

Client and server-side validation JavaScript library

31 lines (26 loc) 1.32 kB
'use strict'; exports.__esModule = true; var _utils = require('../utils'); var utils = _interopRequireWildcard(_utils); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } } var validate = function validate(attribute, value, parameters, validator) { var data = []; var attributeName = validator.getPrimaryAttribute(attribute); var path = attributeName.split('*')[0].replace(/^\.|\.$/g, '') || null; var attributeData = utils.flatten(validator.getValue(path)); var attributeNameRegex = new RegExp('^' + utils.escape(attributeName).replace(/\\\*/g, '([^\.]+)'), 'u'); Object.keys(attributeData).forEach(function (k) { var key = path + '.' + k; if (key !== attribute && attributeNameRegex.test(key)) { data.push(attributeData[k]); } }); if (parameters.indexOf('ignore_case') > -1) { var regex = new RegExp('' + utils.escape(value), 'iu'); return data.filter(function (val) { return regex.test(val); }).length === 0; } return data.indexOf(value) === -1; }; exports['default'] = validate;