Как убедиться в том, что  запрос AJAX посылается только в случае успешного завершения встроенного в Joomla JS валидатора.

 Подключение валидации описанно здесь.

Если вкратце, то надо подключить.

JHTML::_('behavior.formvalidation');

Joomla работает на основе глобальной переменной Joomla.submitform. Надо создать свой собственный путь проверки.

Например:

Создание кнопки

<a href="#" onclick="MyValidation.mySubmitForm">...</a>

Определить процедуру:

var MyValidation = {};

MyValidation.mySubmitForm = function(e) {
    var domForm = document.getElementById('form-site');

    if (document.formvalidator.isValid(domForm)) {
        // не забудьте определить задачу
        Joomla.submitform(task, domform);
    }

    return false;
}

 Ну и надо не забывать,   чтобы страница не перезагружалась при нажатии на кнопку отправки надо:

  • Прикрепить обработчик к кнопке, вставленной в форму и возвращающий false, чтобы остановить любые дальнейшие действия с формой.
  • Удалить атрибут action из тега form.
  • Использовать <insert type="button" ...