Magento 2.1 Как применить проверку к пользовательской форме кредитной карты?


Я создал форму своей кредитной карты. Затем, когда я нажму на Разместить заказ кнопка

<div class="actions-toolbar">
        <div class="primary">
            <button class="action primary checkout"
                    type="submit"
                    data-bind="
                    click: placeOrderClick,
                    attr: {title: $t('Place Order')}
                    ">
                <span data-bind="i18n: 'Place Order'"></span>
            </button>
        </div>
    </div>

placeOrderClick функция, которая записана внутри /view/frontend/web/js/view/payment/method-renderer/custom-method.js файл не вызывается. А также, пожалуйста, скажите мне, как подтвердить форму кредитной карты.

Author: Piyush, 2017-01-04

1 answers

Это происходит потому, что последовательность в define равна

define(
[
    'jquery',
    'ko',
    'Magento_Checkout/js/view/payment/default',
    'Magento_Payment/js/view/payment/cc-form',     
    'Magento_Payment/js/model/credit-card-validation/validator',
    'mage/validation'           
],

И в функции

function ($, ko, Component)

Не совпадает. Означает

'jquery'->$,'ko'->ko,...like that

Приведенная выше последовательность сопоставлена, и моя проблема решена.

Для проверки используйте классы проверки magento http://inchoo.net/magento/out-of-the-box-form-validation-in-magento/

/app/code/Nitesh/Module/view/frontend/web/template/payment/form.html использовать в form.html например:

<input name="cc_number" placeholder="Credit Card Number" type="text" data-validate="{'required-entry':true,
      'validate-cc-number':true, 'validate-number':true}">
 3
Author: Nitesh, 2017-02-07 10:53:30