From 49ea803c5cc227f763e08abc6d05f37bd0e82b30 Mon Sep 17 00:00:00 2001 From: Gundo Sifhufhi <sifhufhisg@gmail.com> Date: Mon, 19 Dec 2022 20:39:41 +0200 Subject: [PATCH] Frontend rules --- .../model/shipping-rates-validation-rules.js | 18 +++++++++++ .../web/js/model/shipping-rates-validator.js | 30 +++++++++++++++++++ .../web/js/view/shipping-rates-validation.js | 27 +++++++++++++++++ 3 files changed, 75 insertions(+) create mode 100644 uafrica/Customshipping/view/frontend/web/js/model/shipping-rates-validation-rules.js create mode 100644 uafrica/Customshipping/view/frontend/web/js/model/shipping-rates-validator.js create mode 100644 uafrica/Customshipping/view/frontend/web/js/view/shipping-rates-validation.js diff --git a/uafrica/Customshipping/view/frontend/web/js/model/shipping-rates-validation-rules.js b/uafrica/Customshipping/view/frontend/web/js/model/shipping-rates-validation-rules.js new file mode 100644 index 0000000..6d4a703 --- /dev/null +++ b/uafrica/Customshipping/view/frontend/web/js/model/shipping-rates-validation-rules.js @@ -0,0 +1,18 @@ +/** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ +/*global define*/ +define( + [], + function () { + "use strict"; + return { + getRules: function() { + return { + + }; + } + }; + } +); \ No newline at end of file diff --git a/uafrica/Customshipping/view/frontend/web/js/model/shipping-rates-validator.js b/uafrica/Customshipping/view/frontend/web/js/model/shipping-rates-validator.js new file mode 100644 index 0000000..b56f865 --- /dev/null +++ b/uafrica/Customshipping/view/frontend/web/js/model/shipping-rates-validator.js @@ -0,0 +1,30 @@ +/** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ +/*global define*/ +define( + [ + 'jquery', + 'mageUtils', + './shipping-rates-validation-rules', + 'mage/translate' + ], + function ($, utils, validationRules, $t) { + "use strict"; + return { + validationErrors: [], + validate: function(address) { + var self = this; + this.validationErrors = []; + $.each(validationRules.getRules(), function(field, rule) { + if (rule.required && utils.isEmpty(address[field])) { + var message = $t('Field ') + field + $t(' is required.'); + self.validationErrors.push(message); + } + }); + return !Boolean(this.validationErrors.length); + } + }; + } +); \ No newline at end of file diff --git a/uafrica/Customshipping/view/frontend/web/js/view/shipping-rates-validation.js b/uafrica/Customshipping/view/frontend/web/js/view/shipping-rates-validation.js new file mode 100644 index 0000000..bfe148b --- /dev/null +++ b/uafrica/Customshipping/view/frontend/web/js/view/shipping-rates-validation.js @@ -0,0 +1,27 @@ +/** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ +/*browser:true*/ +/*global define*/ +define( + [ + 'uiComponent', + 'Magento_Checkout/js/model/shipping-rates-validator', + 'Magento_Checkout/js/model/shipping-rates-validation-rules', + '../model/shipping-rates-validator', + '../model/shipping-rates-validation-rules' + ], + function ( + Component, + defaultShippingRatesValidator, + defaultShippingRatesValidationRules, + sampleShippingProviderShippingRatesValidator, + sampleShippingProviderShippingRatesValidationRules + ) { + "use strict"; + defaultShippingRatesValidator.registerValidator('uafrica', sampleShippingProviderShippingRatesValidator); + defaultShippingRatesValidationRules.registerRules('uafrica', sampleShippingProviderShippingRatesValidationRules); + return Component; + } +); -- GitLab