![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-ui/view/base/web/js/lib/validation/ |
/* * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ /** * @api */ define([ 'underscore', './rules' ], function (_, rulesList) { 'use strict'; /** * Validates provided value be the specified rule. * * @param {String} id - Rule identifier. * @param {*} value - Value to be checked. * @param {*} [params] * @param {*} additionalParams - additional validation params set by method caller * @returns {Object} */ function validate(id, value, params, additionalParams) { var rule, message, valid, result = { rule: id, passed: true, message: '' }; if (_.isObject(params)) { message = params.message || ''; } if (!rulesList[id]) { return result; } rule = rulesList[id]; message = message || rule.message; valid = rule.handler(value, params, additionalParams); if (!valid) { params = Array.isArray(params) ? params : [params]; if (typeof message === 'function') { message = message.call(rule); } message = params.reduce(function (msg, param, idx) { return msg.replace(new RegExp('\\{' + idx + '\\}', 'g'), param); }, message); result.passed = false; result.message = message; } return result; } /** * Validates provided value by a specified set of rules. * * @param {(String|Object)} rules - One or many validation rules. * @param {*} value - Value to be checked. * @param {*} additionalParams - additional validation params set by method caller * @returns {Object} */ function validator(rules, value, additionalParams) { var result; if (typeof rules === 'object') { result = { passed: true }; _.every(rules, function (ruleParams, id) { if (ruleParams.validate || ruleParams !== false || additionalParams) { result = validate(id, value, ruleParams, additionalParams); return result.passed; } return true; }); return result; } return validate.apply(null, arguments); } /** * Adds new validation rule. * * @param {String} id - Rule identifier. * @param {Function} handler - Validation function. * @param {String} message - Error message. */ validator.addRule = function (id, handler, message) { rulesList[id] = { handler: handler, message: message }; }; /** * Returns rule object found by provided identifier. * * @param {String} id - Rule identifier. * @returns {Object} */ validator.getRule = function (id) { return rulesList[id]; }; return validator; });