DynamicModel в Yii2, простой пример

Во второй итерации замечательного фраймворка Yii2 была обнаружена возможность создания динамических моделей, отвечает за это одноименный класс DynamicModel, расширяющий класс Model. Призван он упростить формирование полей ввода для определенных переменных, которые по той или иной причине невозможно занести в стандартную модель, но которые нужно подвергнуть валидации.

В итоге делается все довольно просто:

1. В контроллере объявляем нашу динамичную модель и передаем ее в представление:

$model = DynamicModel::validateData(array('name'), [['name', 'string', 'max' => 10, 'min' => 3]]);

2. В представлении выводим поле ввода с данной моделью:

$formя = ActiveForm::begin();
echo $form->field($model, 'name')->textInput();
ActiveForm::end();
unset($form);

В итоге в представлении мы получим:

<div class="form-group field-dynamicmodel-name">
<label class="control-label" for="dynamicmodel-name">Name</label>
<input type="text" id="dynamicmodel-name" class="form-control" name="DynamicModel[name]" maxlength="6"/>
<div class="help-block"></div>
</div>
comments powered by HyperComments
При копировании материалов обратная ссылка на play-stop.ru желательна обязательна!