1. Возвращаете обратно экшен, в котором проходила валидация и сохранение комментария (с перезагрузкой страницы). В нем будет проверка как данных собственно комментария, так и капчи.
2. Добавляете проверку на is_ajax(), в зависимости от результата отдаете редирект или HTML-код вьюшки (для не-аякс запросов), либо JSON или еще что-то (можно смотреть на заголовки, можно не париться и отдавать всегда json). В json'е будет результат операции ('result' => true, к примеру) и список ошибок валидации ('errors' => {'field' : 'error', ...}. Если сохранение успешно, то отдавать id комментария или еще что-то, смотря что планируете делать в случае успеха.
3. При сабмите формы отправляете ajax-запрос с данными (+капча). Если есть ошибки (смотрим на result, на errors и тд), то выводим их на форму.
Соответственно, у пользователей с отключенным js добавление комментариев работает с перезагрузкой страницы, а для остальных есть ajax. При этом экшен один на всех.
В любом случае, никогда не полагайтесь только на ClientSide-валидацию. На ServerSide (то есть в пхп) в любом случае все эти проверки делать надо будет.