Magento2 - Требовать проверки для нового флажка в форме проверки на одной странице - PullRequest
0 голосов
/ 27 сентября 2018

Я использую Magento 2.2.3, и я добавил новое поле флажка с требованием проверки в форме проверки адреса на одной странице с помощью специального плагина.Я следую этому руководству: https://devdocs.magento.com/guides/v2.0/howdoi/checkout/checkout_new_field.html

Теперь я отображаю флажок, но проверка не работает должным образом.Требовать проверки работает только тогда, когда клиент снимает отметку с поля после проверки.

Мне нужна проверка, чтобы работать, даже если флажок никогда не был отмечен, как при первой загрузке формы

Ниже мой код LayoutProcessor:

class LayoutProcessor
{
    /**
     * @param \Magento\Checkout\Block\Checkout\LayoutProcessor $subject
     * @param array $jsLayout
     * @return array
     */
    public function afterProcess(
        \Magento\Checkout\Block\Checkout\LayoutProcessor $subject,
        array  $jsLayout
    ) {
        $customAttributeCode = 'custom_field';
        $jsLayout['components']['checkout']['children']['steps']['children']['shipping-step']['children']['shippingAddress']['children']
        ['shipping-address-fieldset']['children'][$customAttributeCode] = [
            'component' => 'Magento_Ui/js/form/element/single-checkbox',
            'config' => [
                'customScope' => 'shippingAddress.custom_attributes',     
                'template' => 'ui/form/field',
                'elementTmpl' => 'ui/form/components/single/checkbox',
            ],
            'label' => 'Bla bla bla bla.....',
            'dataScope' => 'shippingAddress.custom_attributes' . '.' . $customAttributeCode,
            'provider' => 'checkoutProvider',
            'sortOrder' => 251,
            'required' => true,
            'validation' => [
               'required-entry' => true
            ],
            'description'=>null,
            'value' => '1',
        ];
        return $jsLayout;
    }
}
...