0

jQuery(document).ready(function($) {
    $('#publish').on('click', function(e) {
        var invalidField = null;
         // Loop through all required ACF fields
        $(':input[required]').each(function() {
            var $this = $(this);
            if (!$this.val()) {
                invalidField = $this;
                return false; // break loop on first empty required
            }
        });
         if (invalidField) {
            e.preventDefault(); // stop Publish
             var $fieldWrapper = invalidField.closest('.acf-field');
            var $tabField = $fieldWrapper.prevAll('.acf-field-tab:first');
                         if ($tabField.length) {
                var get_req_key = $tabField.attr('data-key');
                // Open the tab containing the invalid field
                $('a.acf-tab-button[data-key="'+get_req_key+'"]').trigger('click');
                 // Focus on the invalid field after a short delay
                setTimeout(function() {
                    invalidField.focus();
                }, 200);
                 console.log(
                    'Opened tab for required field:',
                    $tabField.find('a').text()
                );
            } else {
                invalidField.focus();
            }
             // Optional: highlight field visually
            invalidField.css('border', '2px solid red');
        }
    });
});

Jagdish Sarma Asked question October 30, 2025
Add a Comment