UNPKG

@atlassian/aui

Version:

Atlassian User Interface Framework

114 lines (89 loc) 3.61 kB
(function (global, factory) { if (typeof define === "function" && define.amd) { define(['module', 'exports', '../jquery', '../internal/log', '../internal/amdify'], factory); } else if (typeof exports !== "undefined") { factory(module, exports, require('../jquery'), require('../internal/log'), require('../internal/amdify')); } else { var mod = { exports: {} }; factory(mod, mod.exports, global.jquery, global.log, global.amdify); global.validatorRegister = mod.exports; } })(this, function (module, exports, _jquery, _log, _amdify) { 'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _jquery2 = _interopRequireDefault(_jquery); var logger = _interopRequireWildcard(_log); var _amdify2 = _interopRequireDefault(_amdify); 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; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var ATTRIBUTE_RESERVED_ARGUMENTS = ['displayfield', 'watchfield', 'when', 'novalidate', 'state']; var _validators = []; function getReservedArgument(validatorArguments) { var reservedArgument = false; validatorArguments.some(function (arg) { var isReserved = _jquery2.default.inArray(arg, ATTRIBUTE_RESERVED_ARGUMENTS) !== -1; if (isReserved) { reservedArgument = arg; } return isReserved; }); return reservedArgument; } /** * Register a validator that can be used to validate fields. The main entry point for validator plugins. * @param trigger - when to run the validator. Can be an array of arguments, or a selector * @param validatorFunction - the function that will be called on the field to determine validation. Receives * field - the field that is being validated * args - the arguments that have been specified in HTML markup. */ function registerValidator(trigger, validatorFunction) { var triggerSelector; if (typeof trigger === 'string') { triggerSelector = trigger; } else { var reservedArgument = getReservedArgument(trigger); if (reservedArgument) { logger.warn('Validators cannot be registered with the argument "' + reservedArgument + '", as it is a reserved argument.'); return false; } triggerSelector = '[data-aui-validation-' + trigger.join('],[data-aui-validation-') + ']'; } var validator = { validatorFunction: validatorFunction, validatorTrigger: triggerSelector }; _validators.push(validator); return validator; } var validatorRegister = { register: registerValidator, validators: function validators() { return _validators; } }; (0, _amdify2.default)('aui/form-validation/validator-register', validatorRegister); exports.default = validatorRegister; module.exports = exports['default']; }); //# sourceMappingURL=validator-register.js.map