Как валидацию формы Yii2 сделать "REAL ONCHANGE"?

Имеется валидация формы, расположенной во вьюшке, код которой ниже. Валидирует неплохо, но только по факту щелчка мышью вне поля формы или по нажатию Enter. Нужна такая же валидация, только по факту набора символов в любом поле input. Как поправить? желательно, в пределах кода вьюшки. Замена inputNotNull.change на inputNotNull.input не помогает - в этом случае не работает совсем.

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 */

$myJs = <<<JS
    var inputNotNull = $("input.inputNotNull");
    var email = $("#contact-email_address");
    var empty;
    var re = /.+@.+\..+/i;
    
    inputNotNull.change(function() {
        var email_value = email.val();
        var validemail = re.test(email_value);
        
        inputNotNull.each(function(){
            
            if(($(this).val() !== "") && (validemail)){
                $('#my_button')[0].disabled = 0;
            } else {
                $('#my_button')[0].disabled = 1;
                return false;
            } 
            $('#my_button')[0].disabled = empty;
          });
    });
JS;

$this->registerJs($myJs);

?>

<div class="contact-search">

    <?php $form = ActiveForm::begin(); ?>

    <?= $form->field($model, 'first_name')->textInput(['maxlength' => true, 'class' => 'form-control inputNotNull'])->label('Имя   ') ?>

    <?= $form->field($model, 'last_name')->textInput(['maxlength' => true, 'class' => 'form-control inputNotNull'])?>

    <?= $form->field($model, 'middle_name')->textInput(['maxlength' => true, 'class' => 'form-control'])->label('Отчество') ?>

    <?= $form->field($model, 'internal_phone')->textInput(['maxlength' => true, 'class' => 'form-control inputNotNull'])->label('Вн.номер') ?>

    <?= $form->field($model, 'mobile_phone')->textInput(['maxlength' => true, 'class' => 'form-control inputNotNull'])->label('Моб.номер') ?>

    <?= $form->field($model, 'email_address')->textInput(['maxlength' => true, 'class' => 'form-control inputNotNull'])->label('Email') ?>

    <div class="form-group">
        <?= Html::submitButton('Добавить', ['class' => 'btn btn-success', 'name' => 'test-button',
            'id' => 'my_button', 'disabled' => 'disabled', /*'onclick' => '$("#my_button").attr("disabled", "disabled")'*/]) ?>

    </div>

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

</div>

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