In this article, We will learn about how to add custom validation in store configuration field.
First off, We will create a module.
Step-1: Create requirejs-config.js in app/code/Vendor/Validation/view/adminhtml
var config = { config: { mixins: { 'mage/validation': { 'Vendor_Validation/js/admin-config/validator-rules-mixin': true } } } };
Step-2: Create validator-rules-mixin.js in app/code/Vendor/Validation/view/adminhtml/web/js/admin-config
define([ 'jquery' ], function ($) { 'use strict'; return function (target) { $.validator.addMethod( 'validate-server-protocol', function (value) { if(value.includes('http') || value.includes('https')) { return false; } else { return true; } }, $.mage.__('Please enter server name without protocol') ); return target; }; });
Step-3: Create system.xml in app/code/Vendor/Validation/etc/adminhtml and then add custom rule.
<?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> <group id="server_config" translate="label" type="text" sortOrder="2" showInDefault="1" showInWebsite="1" showInStore="1"> <field id="host_name" translate="label comment" type="text" sortOrder="1" showInDefault="1" showInWebsite="1" showInStore="0" > <label>Host</label> <comment>Ex: example.com</comment> <validate>required-entry validate-server-protocol</validate> </field> </group> </system> </config>
Hope this will help you.
Thanks 🙂
Be the first to comment.