Magento 2 Validando Campos no system.xml

<?xml version="1.0"?>

<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../Backend/etc/system_file.xsd">
    <system>
        <tab id="all_custom_modules" translate="label" sortOrder="100">
            <label>All Custom Modules</label>
        </tab>
        <section id="custom_module" translate="label" type="text" sortOrder="0" showInDefault="1" showInWebsite="1" showInStore="1">
            <label>My Custom Module</label>
            <tab>all_custom_modules</tab>
            <resource>MyVendor_MyCustomModule::configuration</resource>
            <group id="general" translate="label" type="text" sortOrder="10" showInDefault="1" showInWebsite="0" showInStore="0">
                <label>General Configuration</label>
                <field id="enable" translate="label" type="select" sortOrder="1" showInDefault="1" showInWebsite="0" showInStore="0">
                    <label>Module Enable</label>
                    <source_model>Magento\Config\Model\Config\Source\Yesno</source_model>
                </field>
                <field id="number" translate="label comment" type="text" sortOrder="6" showInDefault="1" showInWebsite="1" showInStore="1" canRestore="1">
                    <label>Validate Number</label>
                    <validate>validate-number</validate>
                </field>
                <field id="description" translate="label comment" type="textarea" sortOrder="6" showInDefault="1" showInWebsite="1" showInStore="1" canRestore="1">
                    <label>Description</label>
                    <validate>required-entry</validate>
                </field>
            </group>
        </section>
    </system>
</config>

Abaixo, segue as validações que podem ser utilizadas no system.xml

validate-no-html-tagsValidar sem tags HTML permitidas
validate-selectValida se foi selecionado ou não
required-entryCampo obrigatório
validate-numberValida um número válido
validate-digitsValida apenas dígitos, sem vírgula ou ponto
validate-dateValida data
validate-emailValida e-mail
validate-urlValida URL. Obrigatório http:// ou https:// ou ftp://
validate-not-negative-numberNão valida número negativo no campo
validate-zero-or-greaterValida um número maior ou igual a zero
validate-stateValida o estado/região selecionado
validate-cc-numberValida número de cartão de crédito
validate-dataValida data ( a-z, A-Z, 0-9, _ )
validate-no-emptyValida não vazio
validate-lengthValida o tamanho do campo
minimum-length-10Valida a quantidade mínima do campo
maximum-length-250Valida a quantidade máxima do campo

Dúvidas? Posta aí!!!

Um abraço.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *