Всем привет, ребят, подскажи кто сталкивался, не могу корректно решить

проблему с ActiveForm который рендерится на странице в цикле во множество экземпляров. Проблемы 2.
1) id не уникальный у полей
2) валидаторы которые завязаны на данных из других полей юзают за основу поля из формы отрендеренной на первой итерации, вместо того чтобы юзать поля со своей формы.
Понимаю, что первое можно просто велосипедом сделать указав всем полям руками уникальные id, но наверняка есть способ решить обе проблемы указав где-то какое-то одно свойство при инициализации)
Вот такая конструкция:
<?php $k = 0;foreach ($employeesModels as $employeeModel) { ++$k;?>
<div class="private-office__desc block__title">
<span><?= $k ?>.</span> <?= $employeeModel->username ?>
</div>
<?php $editEmployeeForm = ActiveForm::begin(['id' => 'employee-' . $k . '-form']); ?>
<?= $editEmployeeForm->field($employeeModel, 'id')->hiddenInput()->label(false); ?>
<div class="private-office__input">
<div class="private-office__input-wrap body__input">
<p>Username</p>
<div class="form-group field-profileform-username required">
<?= $editEmployeeForm->field($employeeModel, 'username')
->textInput(['readonly' => true, 'maxlength' => true, "class" => "form-control custom-input"])
->label(false);
?>
<p class="help-block help-block-error"></p>
</div>
</div>
<div class="private-office__input-wrap body__input">
<p>Hasło</p>
<div class="form-group field-profileform-email required">
<?= $editEmployeeForm->field($employeeModel, 'password')
->passwordInput(['readonly' => true, 'maxlength' => true, 'class' => 'form-control custom-input'])
->label(false);
?>
<p class="help-block help-block-error"></p>
</div>
</div>
<div class="private-office__input-wrap body__input">
<p>Powtórz hasło</p>
<div class="form-group field-profileform-email required">
<?= $editEmployeeForm->field($employeeModel, 'password_repeat')
->passwordInput(['readonly' => true, 'maxlength' => true, 'class' => 'form-control custom-input'])
->label(false);
?>
<p class="help-block help-block-error"></p>
</div>
</div>
</div>
<div class="block__btns">
<div class="simple-btn2 btn block__btn concealer__hide">
<?= Html::submitButton('Zapisz') ?>
</div>
</div>
<?php ActiveForm::end(); ?>
<?php } ?>

3 ответов

20 просмотров

pastebin

Alex- Автор вопроса

действительно)

Alex- Автор вопроса

спасибо, подправил

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

Обсуждают сегодня

Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
сделал сайт, прикрутил в боте сайт, и виджет логина. как автоматически логинить пользователя в аккаунт(телеграм), при входе с бота?
Александра Чернивецкая
5
Объясните, пожалуйста, почему компилятор ругается на использование в условии неинициализированной переменной: int x; Task.Run(async () => { x = await somefunc(); }).Wait...
Александр
5
Всем привет. Ребята, подскажите, пожалуйста. у ботов есть ограничение на отправку сообщений - 30 сообщений в секунду, эти ограничения накладываются на все сообщения? или на со...
Artem Stormageddon
4
Блин, ребята, сори за тупые вопросы. А можно ли как-то открыть вебапку по нажатию на кнопку в меню(которое появляется слева, команды)?
Artem Stormageddon
3
а плаксы из-под питона умеют только в комфортных условиях что-то выдавить из себя?)
Lencore
9
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
13
Коллеги, может знает кто, можно ли цвет бейджа счётчика в BackendMenu менять без бубнов?
Alex Blaze
3
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
Привет!) Кто как юзает переменные в строках?) Чисто ради интереса Вот так: echo "У меня {$bananasAmount} бананов"; Или вот так: echo "У меня ${bananasAmount} бананов";
Виталий
3
Карта сайта