Проверка поля почтового индекса на странице оформления заказа в magento 2


Я пытаюсь применить проверку для почтового индекса при оформлении заказа, например, 4 цифры и 2 символа (A-Z), например: "9999AA".

Теперь по умолчанию, если я нажимаю неверный почтовый индекс на странице оформления заказа, я получаю сообщение, похожее на снимок экрана ниже:enter image description here Но даже если я не изменю почтовый индекс, я нажму "Далее" и завершу свой заказ.
Кто-нибудь знает, как решить эту проблему?
Я нашел эту ссылку для проверки javascript в magento 2 валидатор magento2 но я не знаю, где я могу применить эту проверку validate-zip-international, а затем изменить эту базу правил проверки в моем формате. Или есть другой способ создать правило проверки почтового индекса?

Author: Khoa TruongDinh, 2017-01-05

3 answers

Чтобы добавить проверку в поле zip, мы должны перезаписать Magento_Checkout/layout/checkout_index_index.xml и добавить этот код:

   <item name="validation" xsi:type="array">
        <item name="validate-zip-us" xsi:type="string">true</item>
    </item>

Вот так

<item name="postcode" xsi:type="array">
    <item name="sortOrder" xsi:type="string">75</item>
        <!-- post-code field has custom UI component -->
    <item name="component" xsi:type="string">Magento_Ui/js/form/element/post-code</item>
    <item name="validation" xsi:type="array">
      <item name="required-entry" xsi:type="string">true</item>
      <item name="validate-zip-us" xsi:type="string">true</item>
    </item>
</item>

zip-range например, это уже определенное правило в rules.js.

Мы можем перезаписать это правило или создать другое правило в соответствии с нашими потребностями в этом месте:Theme\Theme\Magento_Ui\web\js\lib\validation\rules.js >

 6
Author: Alin Lupoiu, 2018-09-21 07:20:15

Я не думаю, что перезапись rules.js является ответом на этот вопрос. Это делает свою работу, но кажется очень грязным.

Размещение чего-либо в папке темы делает наше расширение сильно зависящим от этого файла.

Хотя там мы могли бы поспорить об этом. Я предлагаю более независимое и независимое решение для проверки форм, созданных компонентами пользовательского интерфейса.

Мой ответ можно найти здесь: Проверка элементов формы, построенных с помощью компонентов пользовательского интерфейса

Если вы также хотите отключить показанное предупреждающее сообщение вы можете проверить мой ответ здесь: Как отключить Уведомление о проверке почтового индекса/почтового индекса Magento 2

 0
Author: vitoriodachef, 2017-09-11 15:31:12

Я думаю, что это самый простой способ добиться этого, редактирование кода не требуется:

Магазин > Атрибуты > Адрес клиента

Затем выберите поле почтового индекса, и в конфигурации поля вы можете определить input validation как Numeric only, а затем минимальную и максимальную длину.

enter image description here

 0
Author: Adarsh Khatri, 2020-03-27 04:32:45