Форма о чем?
Сколько полей? Есть загружаемые картинки? Есть сложные поля, которые не просто инпута, а в которых заложена более сложная логика обработки?
Я бы делал через Pjax.
В форме две кнопки – опубликовать и предпросмотр. Каждая из них меняет какое-то скрытое поле в форме и отправляет форму на сервер. Контроллер валидирует форму и в зависимости от скрытого параметра либо сохраняет модель и редиректит на другую страницу, либо возвращает рендер.