Как добавить контекстные классы в Yii 2 ActiveField / ActiveForm? - PullRequest
0 голосов
/ 12 декабря 2018

В Bootstrap 3 мы можем добавить контекстный класс к form-group контейнеру, который закрасит этот контейнер поля в определенный цвет, т.е.has-error сделает его красноватым:

<div class="form-group has-error">
    <label for="field">Erroneous label</label>
    <input type="text" class="form-control" placeholder="Erroneous input" id="field" />
    <p class="help-block">Erroneous help-block</p>
</div>

Метка, цвет текста и границы ввода, а также окончательная p.help-block станут красными.

В Yii 2 мы можем использовать ActiveFormи ActiveField, чтобы сделать то же самое в однострочнике:

<?= $form->field($model, 'field')
    ->textInput(['maxlength' => true, 'placeholder' => 'Erroneous input'])
    ->label('Erroneous label')
    ->hint('Dummy hint') ?>

И он генерирует примерно такую ​​же разметку, как указано выше, в form-group контейнере.

Я прошел через документы и не нашел способа добавить класс has-error в контейнер form-group.

Не работают для этого сценария.

1 Ответ

0 голосов
/ 12 декабря 2018

Yii автоматически добавляет класс has-error в случае ошибок проверки.Если вы хотите добавить какой-либо CSS-класс в контейнер ActiveField, вы можете использовать свойство options .Например:

<?= $form->field($model, 'field', [
        'options' => [
            'class' => 'form-group has-error',
        ],
    ])
    ->textInput(['maxlength' => true, 'placeholder' => 'Erroneous input'])
    ->label('Erroneous label')
    ->hint('Dummy hint');
?>
...