Reading list Switch to dark mode

    How to Validate Admin Form using Ajax in Magento2

    Updated 23 February 2024

    Here we will learn, how to validate admin form using ajax in Magento2

    1) Create a getValidationUrl() function in your admin form Edit.php Block for example.
    Here is Block: Webkul/FormValidate/Block/Adminhtml/CustomForm/Edit.php

    <?php
    
    namespace Webkul\FormValidate\Block\Adminhtml\CustomForm;
    
    class Edit extends \Magento\Backend\Block\Widget\Form\Container
    {
        /**
         * Block group name
         *
         * @var string
         */
        protected $_blockGroup = 'Webkul_FormValidate';
    
        /**
         * @param \Magento\Backend\Block\Widget\Context $context
         * @param \Magento\Framework\Registry $registry
         * @param array $data
         */
        public function __construct(
            \Magento\Backend\Block\Widget\Context $context,
            array $data = []
        ) {
            parent::__construct($context, $data);
        }
    
        /**
         * @return void
         */
        protected function _construct()
        {
            parent::_construct();
        }
    
        /**
         * Retrieve URL for validation
         *
         * @return string
         */
        public function getValidationUrl()
        {
            return $this->getUrl('/*/validate', ['_current' => true]);
        }
    }

    2) Create Validation Controller : Webkul/FormValidate/Controller/Adminhtml/CustomForm/Validate.php

    <?php
    
    namespace Webkul\FormValidate\Controller\Adminhtml\CustomForm;
    
    class Validate extends \Magento\Backend\App\Action
    {
        /**
         * @var \Magento\Framework\Controller\Result\JsonFactory
         */
        protected $resultJsonFactory;
    
        /**
         * Constructor
         *
         * @param \Magento\Backend\App\Action\Context $context
         * @param \Magento\Framework\Registry $coreRegistry
         * @param \Magento\Framework\View\Result\PageFactory $resultPageFactory
         * @param \Magento\Framework\Controller\Result\JsonFactory $resultJsonFactory
         */
        public function __construct(
            \Magento\Backend\App\Action\Context $context,
            \Magento\Framework\Registry $coreRegistry,
            \Magento\Framework\View\Result\PageFactory $resultPageFactory,
            \Magento\Framework\Controller\Result\JsonFactory $resultJsonFactory,
        ) {
            parent::__construct($context);
            $this->resultJsonFactory = $resultJsonFactory;
        }
    
        /**
         * @return \Magento\Framework\Controller\ResultInterface
         */
        public function execute()
        {
            $response = new \Magento\Framework\DataObject();
            $response->setError(false);
    
            $response->setMessage(
                __('Validate Successfully.')
            );
            return $this->resultJsonFactory->create()->setJsonData($response->toJson());
        }
    }

    Searching for an experienced
    Magento 2 Company ?
    Find out More
    . . .

    Leave a Comment

    Your email address will not be published. Required fields are marked*


    Be the first to comment.

    Back to Top

    Message Sent!

    If you have more details or questions, you can reply to the received confirmation email.

    Back to Home