Saya mengembangkan ekstensi untuk Magento2 yang menyimpan konfigurasi menggunakan system.xml dan saya ingin memvalidasi nilai input pengguna. Bagaimana saya bisa memvalidasi nilai-nilai itu?
Saya mengembangkan ekstensi untuk Magento2 yang menyimpan konfigurasi menggunakan system.xml dan saya ingin memvalidasi nilai input pengguna. Bagaimana saya bisa memvalidasi nilai-nilai itu?
Jawaban:
Anda dapat menerapkan validasi pada kotak teks di magento 2 seperti ini,
<field id="custom_path" translate="label comment" type="text" sortOrder="4" showInDefault="1" showInWebsite="0" showInStore="0">
<label>Custom Admin Path</label>
<validate>required-entry</validate>
<comment>You will have to sign in after you save your custom admin path.</comment>
</field>
Anda dapat menyimpan validate-alphanum or validate-number
nilai alfanumerik dan numerik di dalam tag validasi.
Terima kasih.
Anda bisa melampirkan model backend ke bidang dan Anda bisa memvalidasi sisi server nilai.
Anda dapat menemukan contoh di Magento_Backend/etc/adminhtml/system.xml
:
<field id="base_url" translate="label comment" type="text" sortOrder="10" showInDefault="1" showInWebsite="1" showInStore="1">
<label>Base URL</label>
<backend_model>Magento\Config\Model\Config\Backend\Baseurl</backend_model>
<comment>Specify URL or {{base_url}} placeholder.</comment>
</field>
seperti yang Anda lihat, bidang ini memiliki model backend Magento\Config\Model\Config\Backend\Baseurl
.
Ini berarti bahwa metode Magento\Config\Model\Config\Backend\Baseurl::beforeSave
ini akan dipanggil ketika menyimpan bidang. Anda dapat menggunakan metode ini untuk melempar pengecualian jika ada sesuatu yang salah dan konfigurasi tidak akan disimpan.
Anda bisa membuat model Anda sendiri yang bertindak sebagai model backend untuk bidang Anda.
coba ini
<field id="test" translate="label" type="text" sortOrder="8" showInDefault="1" showInWebsite="1" showInStore="0">
<label>Handling Fee</label>
<validate>required-entry</validate>
</field>
lihat gambar di bawah ini divalidasi ketika saya menekan tombol simpan.
Di bawah ini adalah contoh Memvalidasi required-entry
masuk system.xml
, harap ini akan membantu Anda -
<a2bizz_field_test> <label> Nilai Teks </label> <frontend_type> text </frontend_type> <valid> wajib-masuk </validate> <sort_order> 5 </sort_order> <show_in_default> 1 </show_in_default> <show_in_website> 1 </show_in_website> <show_in_store> 1 </show_in_store> </a2bizz_field_test>
untuk validasi khusus, buka URL di bawah ini -