Класс yii\widgets\ActiveField
| Наследование | yii\widgets\ActiveField » yii\base\Component » yii\base\Object |
|---|---|
| Реализует | yii\base\Configurable |
| Подклассы | yii\bootstrap\ActiveField, yii\gii\components\ActiveField |
| Доступна с версии | 2.0 |
| Исходный код | https://github.com/yiisoft/yii2/blob/master/framework/widgets/ActiveField.php |
ActiveField представляет собой поле ввода формы в рамках yii\widgets\ActiveForm.
Для получения дополнительной информации и использования ActiveField см. статью руководства по формам.
Публичные свойства
| Свойство | Тип | Описание | Определено |
|---|---|---|---|
| $addAriaAttributes | boolean | Добавляет атрибуты aria HTML aria-required и aria-invalid для элементов ввода | yii\widgets\ActiveField |
| $attribute | string | Атрибут модели, с которым связано это поле. | yii\widgets\ActiveField |
| $behaviors | yii\base\Behavior[] | Список поведений, прикреплённых к этому компоненту | yii\base\Component |
| $enableAjaxValidation | boolean | Включить валидацию на основе AJAX. | yii\widgets\ActiveField |
| $enableClientValidation | boolean | Включить валидацию на стороне клиента. | yii\widgets\ActiveField |
| $errorOptions | array | Стандартные параметры для тегов ошибок. | yii\widgets\ActiveField |
| $form | yii\widgets\ActiveForm | Форма, с которой связано это поле. | yii\widgets\ActiveField |
| $hintOptions | array | Стандартные параметры для тегов подсказок. | yii\widgets\ActiveField |
| $inputOptions | array | Стандартные параметры для тегов ввода. | yii\widgets\ActiveField |
| $labelOptions | array | Стандартные параметры для тегов метки. | yii\widgets\ActiveField |
| $model | yii\base\Model | Модель данных, с которой связано это поле. | yii\widgets\ActiveField |
| $options | array | HTML атрибуты (парные имя-значение) для тега контейнера поля. | yii\widgets\ActiveField |
| $parts | array | Разные части поля (например, ввод, метка). | yii\widgets\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 |
Публичные методы
| Метод | Описание | Определено в |
|---|---|---|
| __call() | Вызывает именованный метод, который не является методом класса. | yii\base\Component |
| __clone() | Этот метод вызывается после создания объекта путём клонирования существующего. | yii\base\Component |
| __construct() | Конструктор. | yii\base\Object |
| __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\widgets\ActiveField |
| checkboxList() | Отображает список флажков. | yii\widgets\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 |
| input() | Отображает тег ввода. | yii\widgets\ActiveField |
| label() | Генерирует тег метки для $attribute. | yii\widgets\ActiveField |
| listBox() | Отображает список. | yii\widgets\ActiveField |
| off() | Отсоединяет существующий обработчик событий от этого компонента. | yii\base\Component |
| on() | Присоединяет обработчик событий к событию. | yii\base\Component |
| passwordInput() | Отображает элемент ввода пароля. | yii\widgets\ActiveField |
| radio() | Отображает радиокнопку. | yii\widgets\ActiveField |
| radioList() | Отображает список радиокнопок. | yii\widgets\ActiveField |
| render() | Отображает всё поле. | yii\widgets\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 |
| getClientOptions() | Возвращает параметры JS для поля. | yii\widgets\ActiveField |
| getInputId() | Возвращает HTML id элемента ввода этого поля формы. | yii\widgets\ActiveField |
| isAjaxValidationEnabled() | Проверяет, включена ли проверка с AJAX для поля | yii\widgets\ActiveField |
| isClientValidationEnabled() | Проверяет, включена ли проверка на стороне клиента для поля | yii\widgets\ActiveField |
Подробное описание свойств
$addAriaAttributes общедоступное свойство (доступно с версии 2.0.11)
Добавляет атрибуты aria HTML aria-required и aria-invalid для элементов ввода
public boolean $addAriaAttributes = true
$attribute общедоступное свойство
Атрибут модели, с которым связано это поле.
public string $attribute = null
$enableAjaxValidation общедоступное свойство
Включить проверку данных с помощью AJAX. Если не задано, примет значение yii\widgets\ActiveForm::$enableAjaxValidation.
public boolean $enableAjaxValidation = null
$enableClientValidation общедоступное свойство
Включить проверку данных на стороне клиента. Если не задано, примет значение yii\widgets\ActiveForm::$enableClientValidation.
public boolean $enableClientValidation = null
$errorOptions общедоступное свойство
Базовые параметры для тегов ошибок. Параметр, переданный в error(), будет объединён с этим свойством при рендеринге тега ошибки. Распознаются следующие специальные параметры:
-
tag: имя тега контейнерного элемента. По умолчаниюdiv. Установка значенияfalseне будет рендерить тег контейнера. См. также yii\helpers\Html::tag(). -
encode: нужно ли кодировать вывод ошибки. По умолчаниюtrue.
Если вы установите пользовательский id для элемента ошибки, вам может потребоваться соответствующая настройка $selectors.
См. также yii\helpers\Html::renderTagAttributes() для подробностей о рендеринге атрибутов.
public array $errorOptions = ['class' => 'help-block']
$form общедоступное свойство
Форма, с которой связано это поле.
public yii\widgets\ActiveForm $form = null
$hintOptions общедоступное свойство
Базовые параметры для тегов подсказок. Параметр, переданный в hint(), будет объединён с этим свойством при рендеринге тега подсказки. Распознаются следующие специальные параметры:
-
tag: имя тега контейнерного элемента. По умолчаниюdiv. Установка значенияfalseне будет рендерить тег контейнера. См. также yii\helpers\Html::tag().
См. также yii\helpers\Html::renderTagAttributes() для подробностей о рендеринге атрибутов.
public array $hintOptions = ['class' => 'hint-block']
$inputOptions общедоступное свойство
Базовые параметры для тегов ввода. Параметр, переданный отдельным методам ввода (например, textInput()), будет объединён с этим свойством при рендеринге тега ввода.
Если вы установите пользовательский id для элемента ввода, вам может потребоваться соответствующая настройка $selectors.
См. также yii\helpers\Html::renderTagAttributes() для подробностей о рендеринге атрибутов.
public array $inputOptions = ['class' => 'form-control']
$labelOptions общедоступное свойство
Базовые параметры для тегов меток. Параметр, переданный в label(), будет объединён с этим свойством при рендеринге тега метки.
См. также yii\helpers\Html::renderTagAttributes() для подробностей о рендеринге атрибутов.
public array $labelOptions = ['class' => 'control-label']
$model общедоступное свойство
Модель данных, с которой связано это поле.
public yii\base\Model $model = null
$options общедоступное свойство
Атрибуты HTML (имя-значение) для тега контейнера поля. Значения будут закодированы с помощью HTML с помощью yii\helpers\Html::encode(). Если значение null, соответствующий атрибут не будет рендериться. Распознаются следующие специальные параметры:
-
tag: имя тега контейнерного элемента. По умолчаниюdiv. Установка значенияfalseне будет рендерить тег контейнера. См. также yii\helpers\Html::tag().
Если вы установите пользовательский id для элемента контейнера, вам может потребоваться соответствующая настройка $selectors.
См. также yii\helpers\Html::renderTagAttributes() для подробностей о рендеринге атрибутов.
public array $options = ['class' => 'form-group']
$parts общедоступное свойство
Разные части поля (например, ввод, метка). Это будет использоваться вместе с $template для создания окончательного HTML-кода поля. Ключи — имена токенов в $template, а значения — соответствующий HTML-код. Допустимые токены включают {input}, {label} и {error}. Обратите внимание, что вам обычно не нужно напрямую обращаться к этому свойству, поскольку оно поддерживается различными методами этого класса.
public array $parts = []
$selectors общедоступное свойство
Селекторы jQuery для выбора контейнера, элемента ввода и тегов ошибок. Ключи массива должны быть container, input, и/или error, а значения массива — соответствующие селекторы. Например, ['input' => '#my-input'].
Селектор контейнера используется в контексте формы, а селекторы ввода и ошибок — в контексте контейнера.
Обычно вам не нужно устанавливать это свойство, поскольку стандартные селекторы должны хорошо работать в большинстве случаев.
public array $selectors = []
$template общедоступное свойство
Шаблон, используемый для расположения метки, поля ввода, сообщения об ошибке и текста подсказки. При вызове render() будут заменены следующие токены: {label}, {input}, {error} и {hint}.
public string $template = "{label}\n{input}\n{hint}\n{error}"
$validateOnBlur общедоступное свойство
Выполнять ли проверку, когда поле ввода теряет фокус. Если не задано, примет значение yii\widgets\ActiveForm::$validateOnBlur.
public boolean $validateOnBlur = null
$validateOnChange общедоступное свойство
Выполнять ли проверку, когда значение поля ввода изменяется. Если не задано, примет значение yii\widgets\ActiveForm::$validateOnChange.
public boolean $validateOnChange = null
$validateOnType общедоступное свойство
Выполнять ли проверку, пока пользователь вводит данные в поле ввода. Если не задано, примет значение yii\widgets\ActiveForm::$validateOnType.
См. также $validationDelay.
public boolean $validateOnType = null
$validationDelay общедоступное свойство
Количество миллисекунд, на которое должна быть отложена проверка, когда пользователь вводит данные в поле и $validateOnType установлено true. Если не задано, примет значение yii\widgets\ActiveForm::$validationDelay.
public integer $validationDelay = null
Подробное описание методов
__toString() public method
PHP magic method that returns the string representation of this object.
| public string __toString ( ) | ||
|---|---|---|
| return | string |
The string representation of this object. |
addAriaAttributes() protected method (available since version 2.0.11)
Adds aria attributes to the input options
| protected void addAriaAttributes ( &$options ) | ||
|---|---|---|
| $options |
Array input options | |
adjustLabelFor() protected method
Adjusts the for attribute for the label based on the input options.
| protected void adjustLabelFor ( $options ) | ||
|---|---|---|
| $options | array |
The input options. |
begin() public method
Renders the opening tag of the field container.
| public string begin ( ) | ||
|---|---|---|
| return | string |
The rendering result. |
checkbox() public method
Renders a checkbox.
This method will generate the checked tag attribute according to the model attribute value.
| public $this checkbox ( $options = [], $enclosedByLabel = true ) | ||
|---|---|---|
| $options | array |
The tag options in terms of name-value pairs. The following options are specially handled:
The rest of the options will be rendered as the attributes of the resulting tag. The values will be HTML-encoded using yii\helpers\Html::encode(). If a value is If you set a custom |
| $enclosedByLabel | boolean |
Whether to enclose the checkbox within the label. If |
| return | $this |
The field object itself. |
checkboxList() public method
Renders a list of checkboxes.
A checkbox list allows multiple selection, like listBox(). As a result, the corresponding submitted value is an array. The selection of the checkbox list is taken from the value of the model attribute.
| public $this checkboxList ( $items, $options = [] ) | ||
|---|---|---|
| $items | array |
The data item used to generate the checkboxes. The array values are the labels, while the array keys are the corresponding checkbox values. |
| $options | array |
Options (name => config) for the checkbox list. For the list of available options please refer to the |
| return | $this |
The field object itself. |
dropDownList() public method
Renders a drop-down list.
The selection of the drop-down list is taken from the value of the model attribute.
| public $this dropDownList ( $items, $options = [] ) | ||
|---|---|---|
| $items | array |
The option data items. The array keys are option values, and the array values are the corresponding option labels. The array can also be nested (i.e. some array values are arrays too). For each sub-array, an option group will be generated whose label is the key associated with the sub-array. If you have a list of data models, you may convert them into the format described above using yii\helpers\ArrayHelper::map(). Note, the values and labels will be automatically HTML-encoded by this method, and the blank spaces in the labels will also be HTML-encoded. |
| $options | array |
The tag options in terms of name-value pairs. For the list of available options please refer to the If you set a custom |
| return | $this |
The field object itself. |
end() public method
Renders the closing tag of the field container.
| public string end ( ) | ||
|---|---|---|
| return | string |
The rendering result. |
error() public method
Generates a tag that contains the first validation error of $attribute.
Note that even if there is no validation error, this method will still return an empty error tag.
See also $errorOptions.
| public $this error ( $options = [] ) | ||
|---|---|---|
| $options | array|false |
The tag options in terms of name-value pairs. It will be merged with $errorOptions. The options will be rendered as the attributes of the resulting tag. The values will be HTML-encoded using yii\helpers\Html::encode(). If this parameter is The following options are specially handled:
If you set a custom |
| return | $this |
The field object itself. |
fileInput() public method
Renders a file input.
This method will generate the name and value tag attributes automatically for the model attribute unless they are explicitly specified in $options.
| public $this fileInput ( $options = [] ) | ||
|---|---|---|
| $options | array |
The tag options in terms of name-value pairs. These will be rendered as the attributes of the resulting tag. The values will be HTML-encoded using yii\helpers\Html::encode(). If you set a custom |
| return | $this |
The field object itself. |
getClientOptions() protected method
Returns the JS options for the field.
| protected массив getClientOptions ( ) | ||
|---|---|---|
| возвращает | массив |
Параметры JS. |
getInputId() защищённый метод (доступен с версии 2.0.7)
Возвращает HTML id элемента ввода данного поля формы.
| protected строка getInputId ( ) | ||
|---|---|---|
| возвращает | строка |
Идентификатор ввода. |
hiddenInput() публичный метод
Отображает скрытый элемент ввода.
Обратите внимание, что этот метод предоставлен для полноты. В большинстве случаев, так как вам не нужно проверять скрытый элемент ввода, вам не следует использовать этот метод. Вместо этого вы должны использовать yii\helpers\Html::activeHiddenInput().
Этот метод будет генерировать name и value атрибуты тега автоматически для атрибута модели, если они не указаны явно в $options.
| public $this hiddenInput ( $options = [] ) | ||
|---|---|---|
| $options | массив |
Параметры тега в виде пар имя-значение. Они будут отображены как атрибуты результирующего тега. Значения будут закодированы в HTML с помощью yii\helpers\Html::encode(). Если вы зададите пользовательские |
| возвращает | $this |
Сам объект поля. |
hint() публичный метод
Отображает тег подсказки.
| public $this hint ( $content, $options = [] ) | ||
|---|---|---|
| $content | строка|булево |
Содержимое подсказки. Если |
| $options | массив |
Параметры тега в виде пар имя-значение. Они будут отображены как атрибуты тега подсказки. Значения будут закодированы в HTML с помощью yii\helpers\Html::encode(). Следующие параметры обрабатываются особо:
|
| возвращает | $this |
Сам объект поля. |
input() публичный метод
Отображает тег ввода.
| public $this input ( $type, $options = [] ) | ||
|---|---|---|
| $type | строка |
Тип ввода (например, |
| $options | массив |
Параметры тега в виде пар имя-значение. Они будут отображены как атрибуты результирующего тега. Значения будут закодированы в HTML с помощью yii\helpers\Html::encode(). Если вы зададите пользовательские |
| возвращает | $this |
Сам объект поля. |
isAjaxValidationEnabled() защищённый метод (доступен с версии 2.0.11)
Проверяет, включена ли AJAX-валидация для поля
| protected булево isAjaxValidationEnabled ( ) |
|---|
isClientValidationEnabled() защищённый метод (доступен с версии 2.0.11)
Проверяет, включена ли клиентская валидация для поля
| protected булево isClientValidationEnabled ( ) |
|---|
label() публичный метод
Генерирует тег метки для $attribute.
| public $this label ( $label = null, $options = [] ) | ||
|---|---|---|
| $label | null|строка|false |
Используемая метка. Если |
| $options | null|массив |
Параметры тега в виде пар имя-значение. Они будут объединены с $labelOptions. Параметры будут отображены как атрибуты результирующего тега. Значения будут закодированы в HTML с помощью yii\helpers\Html::encode(). Если значение |
| возвращает | $this |
Сам объект поля. |
listBox() публичный метод
Отображает выпадающий список.
Выбор выпадающего списка берется из значения атрибута модели.
| public $this listBox ( $items, $options = [] ) | ||
|---|---|---|
| $items | массив |
Элементы данных списка. Ключами массива являются значения опций, а значениями — соответствующие метки опций. Массив также может быть вложенным (т.е. некоторые значения массива тоже являются массивами). Для каждого подмассива будет сгенерирована группа опций, метка которой является ключом, связанным с подмассивом. Если у вас есть список моделей данных, вы можете преобразовать их в указанный выше формат, используя yii\helpers\ArrayHelper::map(). Обратите внимание, что значения и метки автоматически кодируются в HTML этим методом, а пробелы в метках также кодируются в HTML. |
| $options | массив |
Параметры тега в виде пар имя-значение. Список доступных параметров см. в параметре Если вы зададите пользовательские |
| возвращает | $this |
Сам объект поля. |
passwordInput() публичный метод
Отображает поле ввода пароля.
Этот метод будет генерировать name и value атрибуты тега автоматически для атрибута модели, если они не указаны явно в $options.
| public $this passwordInput ( $options = [] ) | ||
|---|---|---|
| $options | массив |
Параметры тега в виде пар имя-значение. Они будут отображены как атрибуты результирующего тега. Значения будут закодированы в HTML с помощью yii\helpers\Html::encode(). Если вы зададите пользовательские |
| возвращает | $this |
Сам объект поля. |
radio() публичный метод
Отображает переключатель.
Этот метод сгенерирует атрибут тега checked в соответствии со значением атрибута модели.
| public $this radio ( $options = [], $enclosedByLabel = true ) | ||
|---|---|---|
| $options | массив |
Параметры тега в формате имя-значение. Следующие параметры обрабатываются особенно:
Остальные параметры будут отображены как атрибуты результирующего тега. Значения будут закодированы в HTML с помощью yii\helpers\Html::encode(). Если значение равно Если вы задали пользовательское значение |
| $enclosedByLabel | булево |
Определяет, следует ли заключать радиокнопку в метку. Если |
| 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 | строка |
Результат отображения. |
textInput() public method
Отображает текстовое поле ввода.
Этот метод автоматически сгенерирует атрибуты тега name и value для атрибута модели, если они явно не указаны в $options.
| public $this textInput ( $options = [] ) | ||
|---|---|---|
| $options | массив |
Параметры тега в формате имя-значение. Они будут отображены как атрибуты результирующего тега. Значения будут закодированы в HTML с помощью yii\helpers\Html::encode(). Распознаются следующие специальные параметры:
Обратите внимание, что если вы задали пользовательское значение |
| return | $this |
Объект самого поля. |
textarea() public method
Отображает текстовую область.
Значение атрибута модели будет использовано в качестве содержимого в текстовой области.
| public $this textarea ( $options = [] ) | ||
|---|---|---|
| $options | массив |
Параметры тега в формате имя-значение. Они будут отображены как атрибуты результирующего тега. Значения будут закодированы в HTML с помощью yii\helpers\Html::encode(). Если вы задали пользовательское значение |
| return | $this |
Объект самого поля. |
widget() public method
Отображает виджет как элемент ввода поля.
Обратите внимание, что виджет должен иметь свойства model и attribute. Они будут инициализированы значениями $model и $attribute этого поля соответственно.
Если вы хотите использовать виджет, у которого нет свойств model и attribute, используйте render() вместо этого.
Например, для использования виджета yii\widgets\MaskedInput для получения ввода даты, вы можете использовать следующий код, предположив, что $form — это ваш экземпляр yii\widgets\ActiveForm:
$form->field($model, 'date')->widget(\yii\widgets\MaskedInput::className(), [
'mask' => '99/99/9999',
]);
Если вы задали пользовательское значение id для элемента ввода, вам может потребоваться скорректировать $selectors.
| public $this widget ( $class, $config = [] ) | ||
|---|---|---|
| $class | строка |
Имя класса виджета. |
| $config | массив |
Параметры имя-значение, которые будут использоваться для инициализации виджета. |
| return | $this |
Объект самого поля. |
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-widgets-activefield.html