Задать вопрос
@liltrill

Как в yii2 ActiveForm field вставить только input без обертки?

yii2:
<?php $form = ActiveForm::begin(['enableClientScript' => false,]); ?>

<?= $form->field($model, 'name', ['template' => '{input}']) ?>

<?= $form->field($model, 'email', ['template' => '{input}']) ?>

<?= Html::submitButton('Отправить') ?>

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


Возвращает такой html:
<div class="form-group field-testform-name required">
   <input type="text" id="testform-name" class="form-control" name="TestForm[name]" aria-required="true">
</div>


Как можно вернуть только input?
  • Вопрос задан
  • 3319 просмотров
Подписаться 1 Простой 3 комментария
Решения вопроса 1
slo_nik
@slo_nik Куратор тега Yii
Настройте fieldConfig для всей формы, тогда сможете убрать div с классом form-control
<?php $form = ActiveForm::begin([
        'fieldConfig' => [
            'options' => [
                'tag' => false,
            ]
        ]
    ]); ?>

Вместо false можете указать свой тег.
Но тут есть одно "НО", валидация перестаёт работать, надо возиться, чтобы восстановить, возможно делать ajax валидацию.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Gomonov
@Gomonov
echo $form->field($model, 'demo', [
     'template' => '{input}{error}{hint}'
]);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы