ActiveForm yii2 при ошибке формы проверки

У меня есть мнение:

<?= $form->field($registration, 'username',
            ['template' => '<div class="uk-form-row">
                                <label for="register_username">{label}</label>
                                {input}{error}
                                </div>'])
            ->textInput(['class' => 'md-input']) ?>

И я хочу добавить новый класс в textInput после того, как ошибка была вызвана. В модели есть несколько правил для этого ввода:

['username', 'string', 'min' => 2, 'max' => 255, 'message' => 'Can not be blank'],
['username','required']

И, например, если я наберу 1 символов, это вызовет ошибку, которая скажет Can not be blank, Но также я хочу добавить md-input-danger класс на этом входе. Есть ли правильный способ сделать это?

2 ответа

Вы должны применить некоторые параметры к вашей форме:

$form = ActiveForm::begin([
    'layout' => 'horizontal',
    'fieldConfig' => [
        'horizontalCssClasses' => [
            'error' => 'md-input-danger'
        ],
    ],
]);

Если вы хотите использовать yii\web\ActiveField, посмотрите на:

Yii-виджеты-activefield.html#$errorOptions-деталь

Код должен быть таким:

$form = ActiveForm::begin([
    'fieldConfig' => [
        'errorOptions' => ['class' => 'md-input-danger']
    ],
]);

PS Код Хуци использует yii\bootstrap\ActiveField

Другие вопросы по тегам