Вот модель
class PhoneForm extends Model
{
public $value;
public $type;
public function rules()
{
return [
['value', 'required'],
['type', 'integer'],
['value', 'string', 'max' => 255],
];
}
/**
* @inheritdoc
*/
public function attributeLabels()
{
return [
'type' => 'Тип',
'value' => 'Значение',
];
}
}
Вот так реализовано в форме
<?php foreach ($model->phones as $key => $phone): ?>
<div class="row">
<div class="col-md-6">
<?= $form->field($phone, "[$key]type")->dropDownList($phone->typeArr)->label(false) ?>
</div>
<div class="col-md-6">
<?= $form->field($phone, "[$key]value")->textInput(['maxlength' => true, 'placeholder' => 'Номер'])->label(false) ?>
</div>
</div>
<?php endforeach ?>
Модель не ActiveRecord и не наследуется от неё (так на всякий случай) Подскажите вот так будет правильно делать multipleValidation
class PhoneService
{
public $form;
public $user_id;
public function __construct(int $id)
{
$this->form=new PhoneForm();
$this->user_id=$id;
}
public function create(array $phones){
if(Model::loadMultiple($this->form,$phones)&& Model::validateMultiple($this->form)){
}
}
}