Magento 2: Проверка определенного диапазона в поле конфигурации системы
Я новичок в magento. Я разрабатываю один модуль в Magento 2.2.2.
Я хочу сделать так, чтобы в конфигурации системы пользователь мог ввести значение от 0 до 100 в это поле.
Пользователь не может ввести текстовое значение и отрицательное значение в это поле.
Как, эту проверку поля я могу применить в конфигурации системы.
Пожалуйста, помогите мне.
System.xml :
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Config:etc/system_file.xsd">
<system>
<tab id="erdsystem" translate="label" sortOrder="10">
<label>ERD system</label>
</tab>
<section id="erdgeneral" translate="label" type="text" sortOrder="300" showInDefault="1" showInWebsite="1" showInStore="1">
<label>General Configuration</label>
<tab>erdsystem</tab>
<resource>ERD_Helloworld::config_helloworld</resource>
<group id="settings" translate="label" type="text" sortOrder="1" showInDefault="1" showInWebsite="1" showInStore="1">
<field id="width" translate="label comment" sortOrder="0" type="text" showInDefault="1" showInWebsite="0" showInStore="0">
<label>Enter Width</label>
</field>
</group>
</section>
</system>
3
Author: Michael Jones, 2018-07-20
2 answers
Добавьте этот код в свой system.xml :
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Config:etc/system_file.xsd">
<system>
<tab id="erdsystem" translate="label" sortOrder="10">
<label>ERD system</label>
</tab>
<section id="erdgeneral" translate="label" type="text" sortOrder="300" showInDefault="1" showInWebsite="1" showInStore="1">
<label>General Configuration</label>
<tab>erdsystem</tab>
<resource>ERD_Helloworld::config_helloworld</resource>
<group id="settings" translate="label" type="text" sortOrder="1" showInDefault="1" showInWebsite="1" showInStore="1">
<field id="width" translate="label comment" sortOrder="0" type="text" showInDefault="1" showInWebsite="0" showInStore="0">
<label>Enter Width</label>
<validate>required-entry validate-digits validate-not-negative-number validate-digits-range digits-range-0-100</validate>
</field>
</group>
</section>
</system>
- обязательная запись: Для обязательного поля
- проверка-цифры: Для использования чисел только в этом поле.
- проверьте-не-отрицательное-число: Для ввода числа 0 или больше.
- **проверка-больше-нуля: **Для большего, чем 0 [значение>0]
- проверка-цифры-диапазон цифр-диапазон-0-100 : Для добавления числа от 0 до 100.
3
Author: Rohan Hapani, 2020-12-17 04:49:58
Пожалуйста, попробуйте следующий код:
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Config:etc/system_file.xsd">
<system>
<tab id="erdsystem" translate="label" sortOrder="10">
<label>ERD system</label>
</tab>
<section id="erdgeneral" translate="label" type="text" sortOrder="300" showInDefault="1" showInWebsite="1" showInStore="1">
<label>General Configuration</label>
<tab>erdsystem</tab>
<resource>ERD_Helloworld::config_helloworld</resource>
<group id="settings" translate="label" type="text" sortOrder="1" showInDefault="1" showInWebsite="1" showInStore="1">
<field id="width" translate="label comment" sortOrder="0" type="text" showInDefault="1" showInWebsite="0" showInStore="0">
<label>Enter Width</label>
<validate>required-entry validate-digits validate-not-negative-number validate-digits-range digits-range-0-100</validate>
</field>
</group>
</section>
</system>
Для получения дополнительной информации, пожалуйста, прочтите эту статью. https://webkul.com/blog/validation-system-configuration-magento2/
0
Author: Abhishek Panchal, 2018-07-20 18:10:46