How to create a Modal showing ActiveForm errors?

I have a an ActiveForm in my view.

In my controller I validate the model, and return the errors if any.

What I would like is to be able to show a Modal (a custom JavaScript modal I do call) whenever ActiveForm ajax does return the errors.

This is my current controller:


namespace app\controllers;

use app\models\CCoupon;

use Yii;

use app\components\Utils;

use app\components\BaseController;

use yii\helpers\Url;

use yii\web\Response;

use yii\widgets\ActiveForm;

class CampaignsController extends BaseController


    public function actions()


        return [

            'error' => [

                'class' => 'yii\web\ErrorAction',




    public function actionValidate()


        $data = [];

        $model = new CCoupon();



        if (Yii::$app->request->isAjax) {

            Yii::$app->response->format = Response::FORMAT_JSON;

            $errors = ActiveForm::validate( $model );

            if (!empty($errors)) {

                return $errors;

            } else {

                $coupon = CCoupon::findOne(['code' => $model->code]);

                if (empty($coupon->used_at)) {

                    $current_time = new \DateTime();

                    $current_time = $current_time->format('Y-m-d H:i:s');

                    $coupon->used_at = $current_time;



            if ($coupon->save()) {

                Yii::$app->session->setFlash('success', 'Well done!.');

            } else {

                Yii::$app->session->setFlash('error', 'There was an error!');


            return $this->refresh();


        $data['model'] = $model;

        return $this->render('validate', $data);



Currently when I’m being able to save, I’m setting a flash message and refreshing the page so the flash message shows up. However I would prefer to show a success modal (just like I want to did with the errors).

Any ideas?