Spec-Zone.ru › Yii 2.0

Класс 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();

См. также:

  • yii\bootstrap\ActiveForm
  • http://getbootstrap.com/css/#forms

Публичные свойства

Свойство Тип Описание Определено в
$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
hiddenInput() Отображает скрытый элемент ввода. yii\widgets\ActiveField
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

Параметры тега в формате имя-значение. Следующие параметры обрабатываются специально:

  • uncheck: строка, значение, соответствующее неотмеченному состоянию флажка. Если не указано, будет использовано значение по умолчанию 0. Этот метод отобразит скрытый элемент ввода, чтобы, если флажок не отмечен и отправлен, значение этого атрибута всё равно было отправлено на сервер через скрытый элемент. Если скрытый элемент ввода не нужен, следует явно установить этот параметр как null.
  • label: строка, текст метки, отображаемый рядом с флажком. Он НЕ будет кодироваться HTML. Таким образом, вы можете передать HTML-код, такой как тег изображения. Если этот параметр получен от пользователя, необходимо закодировать его для предотвращения атак XSS. При указании этого параметра флажок будет заключён в тег метки. Если метка не нужна, следует явно установить этот параметр как null.
  • labelOptions: массив, атрибуты тега метки. Используется только при указании параметра label.

Остальные параметры будут отображены как атрибуты результирующего тега. Значения будут закодированы с помощью yii\bootstrap\Html::encode(). Если значение равно null, соответствующий атрибут не будет отображён.

Если вы задаёте пользовательские id для элемента ввода, вам может потребоваться скорректировать $selectors.

$enclosedByLabel boolean

Определяет, будет ли флажок заключён в метку. Если true, метод всё равно будет использовать $template для отображения флажка и сообщения об ошибке, за исключением того, что флажок будет заключён в тег метки.

return $this

Сам объект поля.

checkboxList() public method

Отображает список флажков.

Список флажков позволяет выполнять множественный выбор, как listBox(). В результате соответствующее отправленное значение представляет собой массив. Выбор из списка флажков берётся из значения атрибута модели.

public $this checkboxList ( $items, $options = [] )
$items array

Данные для генерации флажков. Значения массива — метки, а ключи массива — соответствующие значения флажков.

$options array

Параметры (имя => конфигурация) для списка флажков. Полный список доступных параметров см. в параметре $options метода yii\helpers\Html::activeCheckboxList().

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

Метка для использования. Если null, метка будет сгенерирована с помощью \yii\bootstrap\Model::getAttributeLabel(). Если false, сгенерированное поле не будет содержать метку. Обратите внимание, что это значение НЕ будет закодировано.

$options null|array

Параметры тега в формате имя-значение. Объединятся с $labelOptions. Параметры будут отображены как атрибуты результирующего тега. Значения будут закодированы с помощью yii\bootstrap\Html::encode(). Если значение равно null, соответствующий атрибут не будет отображён.

return $this

Сам объект поля.

radio() public method

Отображает радиокнопку.

Этот метод сгенерирует атрибут тега checked в соответствии со значением атрибута модели.

public $this radio ( $options = [], $enclosedByLabel = true )
$options array

Параметры тега в формате имя-значение. Следующие параметры обрабатываются специально:

  • uncheck: строка, значение, соответствующее неотмеченному состоянию радиокнопки. Если не указано, будет использовано значение по умолчанию 0. Этот метод отобразит скрытый элемент ввода, чтобы, если радиокнопка не отмечена и отправлен, значение этого атрибута всё равно было отправлено на сервер через скрытый элемент. Если скрытый элемент ввода не нужен, следует явно установить этот параметр как null.
  • label: строка, текст метки, отображаемый рядом с радиокнопкой. Он НЕ будет кодироваться HTML. Таким образом, вы можете передать HTML-код, такой как тег изображения. Если этот параметр получен от пользователя, необходимо закодировать его для предотвращения атак XSS. При указании этого параметра радиокнопка будет заключена в тег метки. Если метка не нужна, следует явно установить этот параметр как null.
  • labelOptions: массив, атрибуты тега метки. Используется только при указании параметра label.

Остальные параметры будут отображены как атрибуты результирующего тега. Значения будут закодированы с помощью yii\bootstrap\Html::encode(). Если значение равно null, соответствующий атрибут не будет отображён.

Если вы задаёте пользовательские id для элемента ввода, вам может потребоваться скорректировать $selectors.

$enclosedByLabel boolean

Определяет, будет ли радиокнопка заключена в метку. Если true, метод всё равно будет использовать $template для отображения радиокнопки и сообщения об ошибке, за исключением того, что радиокнопка будет заключена в тег метки.

return $this

Сам объект поля.

radioList() public method

Отображает список радиокнопок.

Список радиокнопок похож на список флажков, но позволяет только одиночный выбор. Выбор из списка радиокнопок берётся из значения атрибута модели.

public $this radioList ( $items, $options = [] )
$items массив

Данные, используемые для генерации радиокнопок. Значения массива — метки, а ключи массива — соответствующие значения радиокнопок.

$options массив

Параметры (имя => конфигурация) для списка радиокнопок. Список доступных параметров см. в параметре $options метода yii\helpers\Html::activeRadioList().

return $this

Объект поля.

render() public method

Отображает всё поле.

Этот метод сгенерирует метку, сообщение об ошибке, тег ввода и тег подсказки (при наличии) и соберет их в HTML-код в соответствии с $template.

public строка render ( $content = null )
$content строка|вызываемый объект

Содержание внутри контейнера поля. Если null (не задано), будут вызваны методы по умолчанию для генерации метки, сообщения об ошибке и тега ввода, и они будут использованы в качестве содержимого. Если передаётся вызываемый объект, он будет вызван для генерации содержимого. Подпись вызываемого объекта должна быть:

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 массив

Параметры тега в виде пар имя-значение. Они будут отображены как атрибуты результирующего тега. Также есть специальные параметры:

  • encode: boolean, кодировать ли значение в HTML.
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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API