Как убрать в форме у имён полей префикс имени модели. Сейчас поля такие (смотри ниже). У текстового поля значение атрибута name="People[registration]"
. такие имена генерируются по-умолчанию. Как убрать префикс People
(это имя модели).
<input type="text" id="people-registration" class="form-control" name="People[registration]" placeholder="Адрес регистрации">
Форму создаю так
<?php $form = ActiveForm::begin([
'id' => 'peoples_form',
'action' => ['/site/add-new-people'],
]); ?>
<?= $form->field($peopleModel, 'registration')->textInput(['placeholder' => $peopleModel->getAttributeLabel('registration')])->label(false) ?>
<div class="form-group">
<?= Html::submitButton('Добавить', ['class' => 'btn btn-primary']) ?>
</div>
<?php ActiveForm::end(); ?>
Можно избавиться от префикса, если переопределить метод модели formName
и передать аргументом пустую строку перед тем, как скармливать модель форме:
Model::formName("");
Источник
The form name is mainly used by yii\widgets\ActiveForm to determine how to name the input fields for the attributes in a model. If the form name is "A" and an attribute name is "b", then the corresponding input name would be "A[b]". If the form name is an empty string, then the input name would be "b".
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок