Класс yii\bootstrap\ActiveField
| Наследование | yii\bootstrap\ActiveField » yii\widgets\ActiveField » yii\base\Component » yii\base\Object |
|---|---|
| Реализует | yii\base\Configurable |
| Доступна с версии | 2.0 |
| Исходный код | https://github.com/yiisoft/yii2-bootstrap/blob/master/ActiveField.php |
Расширенная версия для Bootstrap 3 класса yii\widgets\ActiveField.
Этот класс добавляет некоторые полезные возможности к ActiveField для рендеринга различных элементов форм Bootstrap 3 в различных макетах форм:
- $inputTemplate — необязательный шаблон для рендеринга сложных элементов ввода, например, групповых элементов ввода
- $horizontalCssClasses определяет CSS-классы сетки для добавления к метке, обёртке, ошибке и подсказке в горизонтальных формах
- inline()/inline() используется для рендеринга checkboxList() и radioList() встроеным способом
-
$enableError может быть установлен в
falseдля отключения отображения ошибки -
$enableLabel может быть установлен в
falseдля отключения отображения метки -
label() может использоваться с аргументом
booleanдля включения/выключения метки
Также есть новые плейсхолдеры, которые можно использовать в настройке $template:
-
{beginLabel}: открывающая тег метки -
{labelTitle}: заголовок метки для использования с{beginLabel}/{endLabel} -
{endLabel}: закрывающий тег метки -
{beginWrapper}: открывающий тег обёртки -
{endWrapper}: закрывающий тег обёртки
Тег обёртки используется только для некоторых макетов и элементов формы.
Обратите внимание, что некоторые элементы используют немного другие значения по умолчанию для $template и других параметров. Возможно, вам потребуется переопределить эти предопределённые шаблоны для чекбоксов, радиокнопок, списков чекбоксов и списков радиокнопок в fieldConfig класса yii\widgets\ActiveForm:
- $checkboxTemplate шаблон для чекбоксов в стандартном макете
- $radioTemplate шаблон для радиокнопок в стандартном макете
- $horizontalCheckboxTemplate шаблон для чекбоксов в горизонтальном макете
- $horizontalRadioTemplate шаблон для радиокнопок в горизонтальном макете
- $inlineCheckboxListTemplate шаблон для списков чекбоксов встроеным способом
- $inlineRadioListTemplate шаблон для списков радиокнопок встроеным способом
Пример:
use yii\bootstrap\ActiveForm;
$form = ActiveForm::begin(['layout' => 'horizontal']);
// Form field without label
echo $form->field($model, 'demo', [
'inputOptions' => [
'placeholder' => $model->getAttributeLabel('demo'),
],
])->label(false);
// Inline radio list
echo $form->field($model, 'demo')->inline()->radioList($items);
// Control sizing in horizontal mode
echo $form->field($model, 'demo', [
'horizontalCssClasses' => [
'wrapper' => 'col-sm-2',
]
]);
// With 'default' layout you would use 'template' to size a specific field:
echo $form->field($model, 'demo', [
'template' => '{label} <div class="row"><div class="col-sm-4">{input}{error}{hint}</div></div>'
]);
// Input group
echo $form->field($model, 'demo', [
'inputTemplate' => '<div class="input-group"><span class="input-group-addon">@</span>{input}</div>',
]);
ActiveForm::end();
См. также:
Публичные свойства
| Свойство | Тип | Описание | Определено в |
|---|---|---|---|
| $addAriaAttributes | boolean | Добавляет атрибуты aria HTML aria-required и aria-invalid для входных элементов | yii\widgets\ActiveField |
| $attribute | string | Атрибут модели, с которым связан данный элемент. | yii\widgets\ActiveField |
| $behaviors | yii\base\Behavior[] | Список присоединённых к компоненту поведений. | yii\base\Component |
| $checkboxTemplate | string | Шаблон для флажков в стандартном макете | yii\bootstrap\ActiveField |
| $enableAjaxValidation | boolean | Включить проверку данных с помощью AJAX. | yii\widgets\ActiveField |
| $enableClientValidation | boolean | Включить проверку данных на стороне клиента. | yii\widgets\ActiveField |
| $enableError | boolean | Отображать ошибку. | yii\bootstrap\ActiveField |
| $enableLabel | boolean | Отображать метку. | yii\bootstrap\ActiveField |
| $errorOptions | array | Основные параметры для тегов ошибки. | yii\widgets\ActiveField |
| $form | yii\widgets\ActiveForm | Форма, с которой связан данный элемент. | yii\widgets\ActiveField |
| $hintOptions | array | Основные параметры для тегов подсказки. | yii\widgets\ActiveField |
| $horizontalCheckboxTemplate | string | Шаблон для флажков в горизонтальном макете | yii\bootstrap\ActiveField |
| $horizontalCssClasses | null|array | Классы сетки CSS для горизонтального макета. | yii\bootstrap\ActiveField |
| $horizontalRadioTemplate | string | Шаблон для радиокнопок в горизонтальном макете | yii\bootstrap\ActiveField |
| $inline | boolean | Отображать checkboxList() и radioList() в строку. | yii\bootstrap\ActiveField |
| $inlineCheckboxListTemplate | string | Шаблон для списка флажков в строку | yii\bootstrap\ActiveField |
| $inlineRadioListTemplate | string | Шаблон для списка радиокнопок в строку | yii\bootstrap\ActiveField |
| $inputOptions | array | Основные параметры для тегов ввода. | yii\widgets\ActiveField |
| $inputTemplate | string|null | Дополнительный шаблон для рендеринга содержимого {input} | yii\bootstrap\ActiveField |
| $labelOptions | array | Основные параметры для тегов метки. | yii\widgets\ActiveField |
| $model | yii\base\Model | Модель данных, с которой связан данный элемент. | yii\widgets\ActiveField |
| $options | array | HTML атрибуты (имя-значение) для тега контейнера элемента. | yii\widgets\ActiveField |
| $parts | array | Разные части элемента (например, ввод, метка). | yii\widgets\ActiveField |
| $radioTemplate | string | Шаблон для радиокнопок в стандартном макете | yii\bootstrap\ActiveField |
| $selectors | array | jQuery селекторы для выбора контейнера, элемента ввода и тега ошибки. | yii\widgets\ActiveField |
| $template | string | Шаблон, используемый для расположения метки, поля ввода, сообщения об ошибке и подсказки. | yii\widgets\ActiveField |
| $validateOnBlur | boolean | Выполнять проверку, когда поле ввода теряет фокус. | yii\widgets\ActiveField |
| $validateOnChange | boolean | Выполнять проверку, когда значение поля ввода изменяется. | yii\widgets\ActiveField |
| $validateOnType | boolean | Выполнять проверку во время ввода пользователем в поле ввода. | yii\widgets\ActiveField |
| $validationDelay | integer | Количество миллисекунд, на которое должна быть отложена проверка при вводе пользователем в поле и $validateOnType установлено true. | yii\widgets\ActiveField |
| $wrapperOptions | array | Параметры для тега обёртки, используемого в {beginWrapper} | yii\bootstrap\ActiveField |
Общие методы
| Метод | Описание | Определено в |
|---|---|---|
| __call() | Вызывает именованный метод, который не является методом класса. | yii\base\Component |
| __clone() | Этот метод вызывается после создания объекта путём клонирования существующего. | yii\base\Component |
| __construct() | Конструктор. | yii\bootstrap\ActiveField |
| __get() | Возвращает значение свойства компонента. | yii\base\Component |
| __isset() | Проверяет, установлено ли свойство, т.е. определено и не равно null. | yii\base\Component |
| __set() | Устанавливает значение свойства компонента. | yii\base\Component |
| __toString() | Магический метод PHP, возвращающий строковое представление этого объекта. | yii\widgets\ActiveField |
| __unset() | Устанавливает свойство компонента в значение null. | yii\base\Component |
| attachBehavior() | Прикрепляет поведение к этому компоненту. | yii\base\Component |
| attachBehaviors() | Прикрепляет список поведений к компоненту. | yii\base\Component |
| begin() | Отображает открывающий тег контейнера поля. | yii\widgets\ActiveField |
| behaviors() | Возвращает список поведений, по которым должен действовать этот компонент. | yii\base\Component |
| canGetProperty() | Возвращает значение, указывающее, можно ли прочитать свойство. | yii\base\Component |
| canSetProperty() | Возвращает значение, указывающее, можно ли установить свойство. | yii\base\Component |
| checkbox() | Отображает флажок. | yii\bootstrap\ActiveField |
| checkboxList() | Отображает список флажков. | yii\bootstrap\ActiveField |
| className() | Возвращает полное имя этого класса. | yii\base\Object |
| detachBehavior() | Открепляет поведение от компонента. | yii\base\Component |
| detachBehaviors() | Открепляет все поведения от компонента. | yii\base\Component |
| dropDownList() | Отображает раскрывающийся список. | yii\widgets\ActiveField |
| end() | Отображает закрывающий тег контейнера поля. | yii\widgets\ActiveField |
| ensureBehaviors() | Убеждается, что поведения, объявленные в behaviors(), прикреплены к этому компоненту. | yii\base\Component |
| error() | Создаёт тег, содержащий первую ошибку валидации для $attribute. | yii\widgets\ActiveField |
| fileInput() | Отображает элемент ввода файла. | yii\widgets\ActiveField |
| getBehavior() | Возвращает объект именованного поведения. | yii\base\Component |
| getBehaviors() | Возвращает все прикреплённые к этому компоненту поведения. | yii\base\Component |
| hasEventHandlers() | Возвращает значение, указывающее, есть ли обработчик, прикреплённый к указанному событию. | yii\base\Component |
| hasMethod() | Возвращает значение, указывающее, определён ли метод. | yii\base\Component |
| hasProperty() | Возвращает значение, указывающее, определено ли свойство для этого компонента. | yii\base\Component |
| hint() | Отображает тег подсказки. | yii\widgets\ActiveField |
| init() | Инициализирует объект. | yii\base\Object |
| inline() | yii\bootstrap\ActiveField | |
| input() | Отображает тег ввода. | yii\widgets\ActiveField |
| label() | Генерирует тег метки для $attribute. | yii\bootstrap\ActiveField |
| listBox() | Отображает список. | yii\widgets\ActiveField |
| off() | Открепляет существующий обработчик событий от этого компонента. | yii\base\Component |
| on() | Прикрепляет обработчик событий к событию. | yii\base\Component |
| passwordInput() | Отображает элемент ввода пароля. | yii\widgets\ActiveField |
| radio() | Отображает радиокнопку. | yii\bootstrap\ActiveField |
| radioList() | Отображает список радиокнопок. | yii\bootstrap\ActiveField |
| render() | Отображает всё поле. | yii\bootstrap\ActiveField |
| staticControl() | Отображает статический элемент управления формы Bootstrap. | yii\bootstrap\ActiveField |
| textInput() | Отображает текстовый элемент ввода. | yii\widgets\ActiveField |
| textarea() | Отображает текстовую область. | yii\widgets\ActiveField |
| trigger() | Вызывает событие. | yii\base\Component |
| widget() | Отображает виджет как элемент ввода поля. | yii\widgets\ActiveField |
Защищённые методы
| Метод | Описание | Определено в |
|---|---|---|
| addAriaAttributes() | Добавляет атрибуты aria к опциям ввода | yii\widgets\ActiveField |
| adjustLabelFor() | Настраивает атрибут for для метки на основе опций ввода. | yii\widgets\ActiveField |
| createLayoutConfig() | yii\bootstrap\ActiveField | |
| getClientOptions() | Возвращает JS-опции для поля. | yii\widgets\ActiveField |
| getInputId() | Возвращает HTML id элемента ввода данного поля формы. | yii\widgets\ActiveField |
| isAjaxValidationEnabled() | Проверяет, включена ли ajax-валидация для поля | yii\widgets\ActiveField |
| isClientValidationEnabled() | Проверяет, включена ли клиентская валидация для поля | yii\widgets\ActiveField |
| renderLabelParts() | yii\bootstrap\ActiveField |
Подробное описание свойств
$checkboxTemplate общедоступное свойство
Шаблон для чекбоксов в стандартной макетной схеме
public string $checkboxTemplate = "<div class=\"checkbox\">\n{beginLabel}\n{input}\n{labelTitle}\n{endLabel}\n{error}\n{hint}\n</div>"
$enableError общедоступное свойство
Отображать ли ошибку. По умолчанию true , за исключением макета inline.
public boolean $enableError = true
$enableLabel общедоступное свойство
Отображать ли метку. По умолчанию true.
public boolean $enableLabel = true
$horizontalCheckboxTemplate общедоступное свойство
Шаблон для чекбоксов в горизонтальной макетной схеме
public string $horizontalCheckboxTemplate = "{beginWrapper}\n<div class=\"checkbox\">\n{beginLabel}\n{input}\n{labelTitle}\n{endLabel}\n</div>\n{error}\n{endWrapper}\n{hint}"
$horizontalCssClasses общедоступное свойство
Классы сетки CSS для горизонтальной макетной схемы. Должен быть массив с этими ключами:
- 'offset' класс смещения сетки для добавления к обёртке, если метка не отображается
- 'label' класс метки
- 'wrapper' класс обёртки
- 'error' класс ошибки
- 'hint' класс подсказки
public null|array $horizontalCssClasses = null
$horizontalRadioTemplate общедоступное свойство
Шаблон для радиокнопок в горизонтальной макетной схеме
public string $horizontalRadioTemplate = "{beginWrapper}\n<div class=\"radio\">\n{beginLabel}\n{input}\n{labelTitle}\n{endLabel}\n</div>\n{error}\n{endWrapper}\n{hint}"
$inline общедоступное свойство
Отображать ли checkboxList() и radioList() в одну строку.
public boolean $inline = false
$inlineCheckboxListTemplate общедоступное свойство
Шаблон для списка чекбоксов в одну строку
public string $inlineCheckboxListTemplate = "{label}\n{beginWrapper}\n{input}\n{error}\n{endWrapper}\n{hint}"
$inlineRadioListTemplate общедоступное свойство
Шаблон для списка радиокнопок в одну строку
public string $inlineRadioListTemplate = "{label}\n{beginWrapper}\n{input}\n{error}\n{endWrapper}\n{hint}"
$inputTemplate общедоступное свойство
Необязательный шаблон для отображения содержимого {input} заполнитель
public string|null $inputTemplate = null
$radioTemplate общедоступное свойство
Шаблон для радиокнопок в стандартной макетной схеме
public string $radioTemplate = "<div class=\"radio\">\n{beginLabel}\n{input}\n{labelTitle}\n{endLabel}\n{error}\n{hint}\n</div>"
$wrapperOptions общедоступное свойство
Опции для тега обёртки, используемые в {beginWrapper} заполнитель
public array $wrapperOptions = []
Подробное описание методов
__construct() public method
Конструктор.
По умолчанию выполняет два действия:
- Инициализирует объект заданной конфигурацией
$config. - Вызывает init().
Если этот метод переопределён в дочернем классе, рекомендуется:
- сделать массив конфигурации последним параметром конструктора, как показано в
$config. - вызвать родительскую реализацию в конце конструктора.
| public void __construct ( $config = [] ) | ||
|---|---|---|
| $config | array |
Параметры в формате имя-значение, которые будут использованы для инициализации свойств объекта |
checkbox() public method
Отображает флажок.
Этот метод сгенерирует атрибут тега checked в соответствии со значением атрибута модели.
| public $this checkbox ( $options = [], $enclosedByLabel = true ) | ||
|---|---|---|
| $options | array |
Параметры тега в формате имя-значение. Следующие параметры обрабатываются специально:
Остальные параметры будут отображены как атрибуты результирующего тега. Значения будут закодированы с помощью yii\bootstrap\Html::encode(). Если значение равно Если вы задаёте пользовательские |
| $enclosedByLabel | boolean |
Определяет, будет ли флажок заключён в метку. Если |
| return | $this |
Сам объект поля. |
checkboxList() public method
Отображает список флажков.
Список флажков позволяет выполнять множественный выбор, как listBox(). В результате соответствующее отправленное значение представляет собой массив. Выбор из списка флажков берётся из значения атрибута модели.
| public $this checkboxList ( $items, $options = [] ) | ||
|---|---|---|
| $items | array |
Данные для генерации флажков. Значения массива — метки, а ключи массива — соответствующие значения флажков. |
| $options | array |
Параметры (имя => конфигурация) для списка флажков. Полный список доступных параметров см. в параметре |
| return | $this |
Сам объект поля. |
createLayoutConfig() protected method
| protected array createLayoutConfig ( $instanceConfig ) | ||
|---|---|---|
| $instanceConfig | array |
Конфигурация, переданная в конструктор экземпляра |
| return | array |
Конфигурация по умолчанию, специфичная для макета, для этого экземпляра |
inline() public method
| public $this inline ( $value = true ) | ||
|---|---|---|
| $value | boolean |
Определяет, отображать ли список в строку |
| return | $this |
Сам объект поля. Убедитесь, что вы вызываете этот метод до checkboxList() или radioList(), чтобы он имел эффект. |
label() public method
Генерирует тег метки для $attribute.
| public $this label ( $label = null, $options = [] ) | ||
|---|---|---|
| $label | null|string|false |
Метка для использования. Если |
| $options | null|array |
Параметры тега в формате имя-значение. Объединятся с $labelOptions. Параметры будут отображены как атрибуты результирующего тега. Значения будут закодированы с помощью yii\bootstrap\Html::encode(). Если значение равно |
| return | $this |
Сам объект поля. |
radio() public method
Отображает радиокнопку.
Этот метод сгенерирует атрибут тега checked в соответствии со значением атрибута модели.
| public $this radio ( $options = [], $enclosedByLabel = true ) | ||
|---|---|---|
| $options | array |
Параметры тега в формате имя-значение. Следующие параметры обрабатываются специально:
Остальные параметры будут отображены как атрибуты результирующего тега. Значения будут закодированы с помощью yii\bootstrap\Html::encode(). Если значение равно Если вы задаёте пользовательские |
| $enclosedByLabel | boolean |
Определяет, будет ли радиокнопка заключена в метку. Если |
| return | $this |
Сам объект поля. |
radioList() public method
Отображает список радиокнопок.
Список радиокнопок похож на список флажков, но позволяет только одиночный выбор. Выбор из списка радиокнопок берётся из значения атрибута модели.
| public $this radioList ( $items, $options = [] ) | ||
|---|---|---|
| $items | массив |
Данные, используемые для генерации радиокнопок. Значения массива — метки, а ключи массива — соответствующие значения радиокнопок. |
| $options | массив |
Параметры (имя => конфигурация) для списка радиокнопок. Список доступных параметров см. в параметре |
| return | $this |
Объект поля. |
render() public method
Отображает всё поле.
Этот метод сгенерирует метку, сообщение об ошибке, тег ввода и тег подсказки (при наличии) и соберет их в HTML-код в соответствии с $template.
| public строка render ( $content = null ) | ||
|---|---|---|
| $content | строка|вызываемый объект |
Содержание внутри контейнера поля. Если function ($field) {
return $html;
}
|
| return | строка |
Результат рендеринга. |
renderLabelParts() protected method
| protected void renderLabelParts ( $label = null, $options = [] ) | ||
|---|---|---|
| $label | строка|null |
Метка или null для использования метки модели |
| $options | массив |
Параметры тега |
staticControl() public method (доступно с версии 2.0.5)
Отображает статический элемент управления Bootstrap.
См. также http://getbootstrap.com/css/#forms-controls-static.
| public $this staticControl ( $options = [] ) | ||
|---|---|---|
| $options | массив |
Параметры тега в виде пар имя-значение. Они будут отображены как атрибуты результирующего тега. Также есть специальные параметры:
|
| return | $this |
Объект поля |
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-bootstrap-activefield.html