ActiveField

yii2 BaseHtml active filed Отдельный вывод поля, label и блока сообщения ошибки валидации для поля модели

Повторить результат:

<input type="checkbox" class="form-check-input" id="exampleCheck1" checked>
<label class="form-check-label" for="exampleCheck1">Даю 
	<?= Html::a('согласие на обработку персональных данных', 
		['rules/personal-data'], ['class' => 'link link_s', 'target' => '_blank']); ?>
</label>

В точности можно (но с корректным id), так (само поле, ярлык пояснения и тег для вывода сообщения об ошибки из стандартной валидации yii2):

yii2 Разрешнить редактирование одного поля формы, запретив все остальные (readonly)

Проблема

В yii2 (на момент написание этой заметки) были в приоритет опция формы ('fieldConfig') над собственными опциям конктреного поля ('inputOptions' ). Всё дело было в порядке слияния конфигурации в array_merge().

Решение

Создаём собственный ActiveField как и раньше и добавляем (переопределяем) в него метод:

yii2 Изменить тэг метки (label) на спан (span) при выводе поля формы -- ActiveForm, ActiveField

Если почему-то остро стоит такой вопрос (хотя, логичнее было бы переверстать), можно использовать такое решение:

yii2 checkbox и другие поля формы -- темизация, управление стилями, классами и другими атрибутами (label)

checkbox Обычная метка (подпись)

Начнём с того, что такой вот код действительно может сменить метку на нестадартную и даже повесить на неё класс:

<?= $form->field($model, 'field_name')
		->checkbox()->label('Билли -- новая метка', ['class' => 'abcd-label']); 
?>

-- но дело в том, что это всё опции для метки не рядом с галочкой, а отдельной метки, которая есть и текстовых полей. Эту отдельную метку можно даже выключить так:

Subscribe to RSS - ActiveField