Как определить вид submitButton в форме Yii2 в зависимости от заполненности полей формы до ее отправки?

Имеется код в файле Yii2-project/views/contact/_form.php:

<?php

use yii\helpers\Html;
use yii\widgets\ActiveForm;

/* @var $this yii\web\View */
/* @var $model app\models\Contact */
/* @var $form yii\widgets\ActiveForm */
?>

<div class="contact-form">

    <?php $form = ActiveForm::begin(); ?>
    <?= $form->field($model, 'first_name')->textInput(['maxlength' => true]) ?>
    <?= $form->field($model, 'middle_name')->textInput(['maxlength' => true]) ?>
    <?= $form->field($model, 'last_name')->textInput(['maxlength' => true]) ?>
    <?= $form->field($model, 'internal_phone')->textInput(['maxlength' => true]) ?>
    <?= $form->field($model, 'mobile_phone')->textInput(['maxlength' => true]) ?>
    <?= $form->field($model, 'email_address')->textInput(['maxlength' => true]) ?>

    <div class="form-group">
        <?= Html::submitButton('Сохранить', ['class' => 'btn btn-success']) ?>
    </div>

    <?php ActiveForm::end(); ?>

</div>

Как изменить код (желательно, в пределах приведенного), чтобы кнопка имела вид неактивной (поправка - чтобы кнопка была отключена), если хотя бы одно поле из представленных - за исключением 'middle_name' - является пустым? т.е. что-то типа

<?= Объект->свойство == null ? 
    Html::submitButton('Сохранить', ['class' => 'btn btn-success']) : 
    Html::submitButton('Сохранить', ['class' => 'btn btn-success disabled']) ?>

Ответы (1 шт):

Автор решения: Евгений Малеев

Для этого кидаешь js событие

$(".inputNotNull").on("blur" или "change", function(){
 .......
}) 

на поля которые нужно проверять. В функции делаешь проверку на пустоту полей и если хотя бы одно из них пустое, кнопка остается неактивной. Как только все заполнены, активируешь, изменяя аттрибут "disabled" на false.

inputNotNull - это класс который навешиваешь на нужные инпуты

→ Ссылка