Magento 2 চেকআউট কাস্টম ক্ষেত্রের বৈধতা


11

Magento2 চেকআউট - নির্বাচিত শিপিং পদ্ধতির উপর নির্ভর করে যা আমার কাস্টম চেকআউট ফিল্ডের জন্য বৈধতা যুক্ত করার সর্বোত্তম পদ্ধতি কী?

উদাহরণস্বরূপ আমি লেআউটপ্রসেসরে যেখানে আমি বৈধতা বিধি নির্দিষ্ট করতে পারি ঠিকানার ফর্মের ক্ষেত্র যুক্ত করছি । আমার কাস্টম ক্যারিয়ার নির্বাচন করা থাকলে আমাকে এই ক্ষেত্রটি প্রয়োজনীয় করতে হবে।

আমার লক্ষ্য হ'ল যদি আমার কাস্টম ক্ষেত্রটি পূরণ না করা হয় তবে ব্যবহারকারীকে পরবর্তী পদক্ষেপে যাওয়া থেকে বিরত রাখা। আমি জানি আমি অর্ডার স্থাপনের আগে কাস্টম বৈধতা যুক্ত করতে সক্ষম (পুনরায় পর্যালোচনা ও অর্থ প্রদানের পদক্ষেপ) তবে এর আগে আমাকে এটিকে বৈধতা দেওয়ার দরকার হয়।


হাই, আপনি এই সমাধান কিভাবে?
সিমন্তেসরিসার

@ maciej-domski আপনি কি এই সমাধান করেছেন?
রঞ্জিত শিন্ডে

এই সাহায্য করতে পারে অন্যদের magento.stackexchange.com/questions/262239/...
Prathap গুনাসেকারান

@ ম্যাসিজে ডমস্কি আমার উত্তরটি যাচাই করুন। আমি এটি নিশ্চিতকরণের ইমেলের জন্য চেষ্টা করেছি এবং এটির কোডিং কোড
কেতন বোরাদা

উত্তর:


1

এটি চেষ্টা করে নিন, লেআউটপ্রসেসর প্লাগইনে নীচের মতো 'বৈধতা' => ['প্রয়োজনীয়-এন্ট্রি' => সত্য] যুক্ত করুন

'config' => [
                'customScope' => 'shippingAddress',
                'template' => 'ui/form/field',
                'elementTmpl' => 'ui/form/element/input',
                'options' => [],
                'id' => 'custom_field'
            ],
            'dataScope' => 'customfield',
            'label' => 'custom field # :',
            'provider' => 'checkoutProvider',
            'validation' => ['required-entry' => true],
            'visible' => true,
            'sortOrder' => 250,
            'id' => 'custom_field'

0

হ্যাঁ ম্যাজেন্টো_চেকআউট / জেএস / মডেল / শিপিং-সেভ-প্রসেসর / ডিফল্ট.জেএস এ পরিবর্তন করে এটি সম্ভব

আমি ক্ষেত্রটি যুক্ত করেছি confirm emailযা অবশ্যই emailচেকআউটে প্রয়োজনীয় ক্ষেত্রের মতো এবং আপনি প্রয়োজনীয়তা অনুসারে কাস্টমাইজ করতে পারেন।

app\code\Ketan\Checkout\view\frontend\requirejs-config.js

var config = {
    "map": {
       "*": {
           "Magento_Checkout/js/model/shipping-save-processor/default" : "Ketan_Checkout/js/shipping-save-processor"
       }
   }
}

জেএস বাড়ান file app\code\Ketan\Checkout\view\frontend\web\js\shipping-save-processor.js

/*
* *
*  @author DCKAP Team
*  @copyright Copyright (c) 2018 DCKAP (https://www.dckap.com)
*  @package Dckap_CustomFields
*/
define(
   [
       'ko',
       'Magento_Checkout/js/model/quote',
       'Magento_Checkout/js/model/resource-url-manager',
       'mage/storage',
       'Magento_Checkout/js/model/payment-service',
       'Magento_Checkout/js/model/payment/method-converter',
       'Magento_Checkout/js/model/error-processor',
       'Magento_Checkout/js/model/full-screen-loader',
       'Magento_Checkout/js/action/select-billing-address',
       'jquery'
   ],
   function (
       ko,
       quote,
       resourceUrlManager,
       storage,
       paymentService,
       methodConverter,
       errorProcessor,
       fullScreenLoader,
       selectBillingAddressAction,
       $
   ) {
       'use strict';

       return {
           saveShippingInformation: function () {
               var payload;

               var username = $("#customer-email").val();
               var conformusername = $("#conformusername").val();

              /*============ Customization Start =============*/
              //if(quote.shippingMethod().method_code=='flaterate'){ // Check if flaterate is selected
                if(conformusername != username){
                  $("#conformusername-error").show(); // show hidden message
                  $("#conformusername").focus();      // move cursor to the point
                  return false;
                 }
              // }
              /*============ Customization End =============*/


               if (!quote.billingAddress()) {
                   selectBillingAddressAction(quote.shippingAddress());
               }
               payload = {
                   addressInformation: {
                       shipping_address: quote.shippingAddress(),
                       billing_address: quote.billingAddress(),
                       shipping_method_code: quote.shippingMethod().method_code,
                       shipping_carrier_code: quote.shippingMethod().carrier_code
                   }
               };
               fullScreenLoader.startLoader();

               return storage.post(
                   resourceUrlManager.getUrlForSetShippingInformation(quote),
                   JSON.stringify(payload)
               ).done(
                   function (response) {
                       quote.setTotals(response.totals);
                       paymentService.setPaymentMethods(methodConverter(response.payment_methods));
                       fullScreenLoader.stopLoader();
                   }
               ).fail(
                   function (response) {
                       errorProcessor.process(response);
                       fullScreenLoader.stopLoader();
                   }
               );
           }
       };
   }
);
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.