Spec-Zone.ru › Yii 2.0

Класс yii\widgets\ActiveForm

Все классы | Свойства | Методы | События
Наследование yii\widgets\ActiveForm » yii\base\Widget » yii\base\Component » yii\base\Object
Реализует yii\base\Configurable, yii\base\ViewContextInterface
Подклассы yii\bootstrap\ActiveForm
Доступно с версии 2.0
Исходный код https://github.com/yiisoft/yii2/blob/master/framework/widgets/ActiveForm.php

ActiveForm — это виджет, который создаёт интерактивную HTML-форму для одной или нескольких моделей данных.

Для получения более подробной информации и рекомендаций по использованию ActiveForm, ознакомьтесь со статьёй руководства по формам.

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

Свойство Тип Описание Определено в
$action массив|строка URL действия формы. yii\widgets\ActiveForm
$ajaxDataType строка Тип данных, ожидаемых от сервера. yii\widgets\ActiveForm
$ajaxParam строка Имя параметра GET, указывающего, что запрос валидации — это AJAX-запрос. yii\widgets\ActiveForm
$attributes массив Параметры проверки на стороне клиента для отдельных атрибутов. yii\widgets\ActiveForm
$autoIdPrefix строка Префикс для автоматически сгенерированных идентификаторов виджетов. yii\base\Widget
$behaviors yii\base\Behavior[] Список присоединённых к этому компоненту поведений. yii\base\Component
$counter целое число Счётчик, используемый для генерации $id для виджетов. yii\base\Widget
$enableAjaxValidation логическое Включить валидацию данных по AJAX. yii\widgets\ActiveForm
$enableClientScript логическое Подключить `yii. yii\widgets\ActiveForm
$enableClientValidation логическое Включить проверку данных на стороне клиента. yii\widgets\ActiveForm
$encodeErrorSummary логическое Выполнять кодирование сводки ошибок. yii\widgets\ActiveForm
$errorCssClass строка CSS-класс, добавляемый к контейнеру поля, когда у соответствующего атрибута есть ошибка валидации. yii\widgets\ActiveForm
$errorSummaryCssClass строка Базовый CSS-класс для контейнера сводки ошибок. yii\widgets\ActiveForm
$fieldClass строка Имя класса поля по умолчанию при вызове field() для создания нового поля. yii\widgets\ActiveForm
$fieldConfig массив|Замыкание Конфигурация по умолчанию, используемая методом field() при создании нового объекта поля. yii\widgets\ActiveForm
$id строка Идентификатор виджета. yii\base\Widget
$method строка Метод отправки формы. yii\widgets\ActiveForm
$options массив HTML-атрибуты (пары имя-значение) для тега формы. yii\widgets\ActiveForm
$requiredCssClass строка CSS-класс, добавляемый к контейнеру поля, когда соответствующий атрибут является обязательным. yii\widgets\ActiveForm
$scrollToError логическое Прокручивать к первой ошибке после валидации. yii\widgets\ActiveForm
$scrollToErrorOffset целое число Смещение в пикселях, которое должно быть добавлено при прокрутке к первой ошибке. yii\widgets\ActiveForm
$stack yii\base\Widget[] Виджеты, которые в данный момент отображаются (не завершены). yii\base\Widget
$successCssClass строка CSS-класс, добавляемый к контейнеру поля, когда соответствующий атрибут успешно валидирован. yii\widgets\ActiveForm
$validateOnBlur логическое Проводить валидацию при потере фокуса полем ввода. yii\widgets\ActiveForm
$validateOnChange логическое Проводить валидацию при изменении значения поля ввода. yii\widgets\ActiveForm
$validateOnSubmit логическое Проводить валидацию при отправке формы. yii\widgets\ActiveForm
$validateOnType логическое Проводить валидацию по мере ввода пользователем данных в поле ввода. yii\widgets\ActiveForm
$validatingCssClass строка CSS-класс, добавляемый к контейнеру поля, когда соответствующий атрибут находится в процессе валидации. yii\widgets\ActiveForm
$validationDelay целое число Количество миллисекунд, на которое задерживается валидация при вводе пользователем данных в поле и значение $validateOnType установлено true. yii\widgets\ActiveForm
$validationUrl массив|строка URL для выполнения валидации по AJAX. yii\widgets\ActiveForm
$view yii\web\View Объект представления, который может использоваться для отображения представлений или файлов представлений. yii\base\Widget
$viewPath строка Директория, содержащая файлы представлений для этого виджета. yii\base\Widget

Общедоступные методы

Метод Описание Определено в
__call() Вызывает именованный метод, который не является методом класса. yii\base\Object
__clone() Этот метод вызывается после создания объекта путем клонирования существующего. yii\base\Component
__construct() Конструктор. yii\base\Object
__get() Возвращает значение свойства объекта. yii\base\Object
__isset() Проверяет, установлено ли свойство, т.е. определено и не равно null. yii\base\Object
__set() Устанавливает значение свойства объекта. yii\base\Object
__unset() Устанавливает свойство объекта в null. yii\base\Object
afterRun() Этот метод вызывается сразу после выполнения виджета. yii\base\Widget
attachBehavior() Присоединяет поведение к данному компоненту. yii\base\Component
attachBehaviors() Присоединяет список поведений к компоненту. yii\base\Component
beforeRun() Этот метод вызывается сразу перед выполнением виджета. yii\base\Widget
begin() Начинает работу виджета. yii\base\Widget
beginField() Начинает работу поля формы. yii\widgets\ActiveForm
behaviors() Возвращает список поведений, по которым должен вести себя данный компонент. yii\base\Component
canGetProperty() Возвращает значение, указывающее, можно ли считать свойство. yii\base\Object
canSetProperty() Возвращает значение, указывающее, можно ли установить свойство. yii\base\Object
className() Возвращает полное квалифицированное имя этого класса. yii\base\Object
detachBehavior() Отсоединяет поведение от компонента. yii\base\Component
detachBehaviors() Отсоединяет все поведения от компонента. yii\base\Component
end() Заканчивает работу виджета. yii\base\Widget
endField() Заканчивает работу поля формы. yii\widgets\ActiveForm
ensureBehaviors() Убеждается, что поведения, объявленные в behaviors(), присоединены к этому компоненту. yii\base\Component
errorSummary() Генерирует сводку ошибок валидации. yii\widgets\ActiveForm
field() Генерирует поле формы. yii\widgets\ActiveForm
getBehavior() Возвращает объект поведения с указанным именем. yii\base\Component
getBehaviors() Возвращает все присоединенные к данному компоненту поведения. yii\base\Component
getId() Возвращает идентификатор виджета. yii\base\Widget
getView() Возвращает объект представления, который можно использовать для рендеринга представлений или файлов представления. yii\base\Widget
getViewPath() Возвращает каталог, содержащий файлы представлений для данного виджета. yii\base\Widget
hasEventHandlers() Возвращает значение, указывающее, есть ли обработчик, присоединенный к указанному событию. yii\base\Component
hasMethod() Возвращает значение, указывающее, определен ли метод. yii\base\Object
hasProperty() Возвращает значение, указывающее, определено ли свойство. yii\base\Object
init() Инициализирует виджет. yii\widgets\ActiveForm
off() Отсоединяет существующий обработчик событий от данного компонента. yii\base\Component
on() Присоединяет обработчик событий к событию. yii\base\Component
registerClientScript() Регистрирует необходимый код JavaScript. yii\widgets\ActiveForm
render() Рендерит представление. yii\base\Widget
renderFile() Рендерит файл представления. yii\base\Widget
run() Выполняет виджет. yii\widgets\ActiveForm
setId() Устанавливает идентификатор виджета. yii\base\Widget
setView() Устанавливает объект представления, который будет использоваться этим виджетом. yii\base\Widget
trigger() Вызывает событие. yii\base\Component
validate() Проверяет одну или несколько моделей и возвращает массив сообщений об ошибках, индексированный по идентификаторам атрибутов. yii\widgets\ActiveForm
validateMultiple() Проверяет массив экземпляров моделей и возвращает массив сообщений об ошибках, индексированный по идентификаторам атрибутов. yii\widgets\ActiveForm
widget() Создает экземпляр виджета и запускает его. yii\base\Widget

Защищенные методы

Метод Описание Определено в
getClientOptions() Возвращает параметры для виджета JS формы. yii\widgets\ActiveForm

События

Событие Тип Описание Определено в
EVENT_AFTER_RUN yii\base\WidgetEvent Событие, генерируемое сразу после выполнения виджета. (доступно начиная с версии 2.0.11) yii\base\Widget
EVENT_BEFORE_RUN yii\base\WidgetEvent Событие, генерируемое сразу перед выполнением виджета. (доступно начиная с версии 2.0.11) yii\base\Widget
EVENT_INIT yii\base\Event Событие, которое генерируется при инициализации виджета через init(). (доступно начиная с версии 2.0.11) yii\base\Widget

Подробности о свойствах

$action общедоступное свойство

URL действия формы. Этот параметр будет обработан yii\helpers\Url::to().

См. также $method для указания HTTP-метода для этой формы.

public array|string $action = ''

$ajaxDataType общественное свойство

Тип данных, ожидаемых от сервера.

public string $ajaxDataType = 'json'

$ajaxParam общественное свойство

Имя параметра GET, указывающего, что запрос валидации — это AJAX-запрос.

public string $ajaxParam = 'ajax'

$attributes общественное свойство

Параметры клиентской валидации для отдельных атрибутов. Каждый элемент массива представляет параметры валидации для конкретного атрибута.

public array $attributes = []

$enableAjaxValidation общественное свойство

Включить AJAX-валидацию данных. Если yii\widgets\ActiveField::$enableAjaxValidation задан, его значение будет иметь приоритет для этого поля ввода.

public boolean $enableAjaxValidation = false

$enableClientScript общественное свойство

Включить подключение yii.activeForm JavaScript-плагина. Это свойство должно быть установлено true , если вы хотите поддерживать клиентскую валидацию и/или AJAX-валидацию или если вы хотите воспользоваться yii.activeForm плагином. Когда это свойство false, форма не будет генерировать JavaScript.

См. также registerClientScript().

public boolean $enableClientScript = true

$enableClientValidation общественное свойство

Включить валидацию данных на стороне клиента. Если yii\widgets\ActiveField::$enableClientValidation задан, его значение будет иметь приоритет для этого поля ввода.

public boolean $enableClientValidation = true

$encodeErrorSummary общественное свойство

Выполнять кодирование для сводки ошибок.

public boolean $encodeErrorSummary = true

$errorCssClass общественное свойство

CSS-класс, который добавляется к контейнеру поля, когда связанный атрибут имеет ошибку валидации.

public string $errorCssClass = 'has-error'

$errorSummaryCssClass общественное свойство

Основной CSS-класс для контейнера сводки ошибок.

См. также errorSummary().

public string $errorSummaryCssClass = 'error-summary'

$fieldClass общественное свойство

Имя класса поля по умолчанию при вызове field() для создания нового поля.

См. также $fieldConfig.

public string $fieldClass = 'yii\widgets\ActiveField'

$fieldConfig общественное свойство

Настройка по умолчанию, используемая field() при создании нового объекта поля. Это может быть массив настроек или анонимная функция, возвращающая массив настроек. Если это последняя, её сигнатура должна быть следующей:

function ($model, $attribute)

Значение этого свойства будет рекурсивно объединено с параметром $options , переданным field().

См. также $fieldClass.

public array|Closure $fieldConfig = []

$method общественное свойство

Метод отправки формы. Должно быть либо post , либо get. По умолчанию post.

При установке значения get вы можете увидеть параметры URL, повторяющиеся в каждом запросе. Это потому, что значение по умолчанию $action установлено как текущий URL запроса, и каждое отправление добавляет новые параметры вместо замены существующих. Вы можете явно установить $action , чтобы этого избежать:

$form = ActiveForm::begin([
    'method' => 'get',
    'action' => ['controller/action'],
]);
public string $method = 'post'

$options общественное свойство

Атрибуты HTML (парные имя-значение) для тега формы.

См. также yii\helpers\Html::renderTagAttributes() для получения подробностей о том, как отображаются атрибуты.

public array $options = []

$requiredCssClass общественное свойство

CSS-класс, который добавляется к контейнеру поля, когда связанный атрибут является обязательным.

public string $requiredCssClass = 'required'

$scrollToError общественное свойство (доступно начиная с версии 2.0.6)

Прокрутить ли до первой ошибки после валидации.

public boolean $scrollToError = true

$scrollToErrorOffset общественное свойство (доступно начиная с версии 2.0.11)

Смещение в пикселях, которое должно быть добавлено при прокрутке к первой ошибке.

public integer $scrollToErrorOffset = 0

$successCssClass общественное свойство

CSS-класс, который добавляется к контейнеру поля, когда связанный атрибут успешно прошел валидацию.

public string $successCssClass = 'has-success'

$validateOnBlur общественное свойство

Выполнять ли валидацию, когда поле ввода теряет фокус. Если yii\widgets\ActiveField::$validateOnBlur задан, его значение будет иметь приоритет для этого поля ввода.

public boolean $validateOnBlur = true

$validateOnChange общественное свойство

Выполнять ли валидацию, когда значение поля ввода меняется. Если yii\widgets\ActiveField::$validateOnChange задан, его значение будет иметь приоритет для этого поля ввода.

public boolean $validateOnChange = true

$validateOnSubmit общественное свойство

Выполнять ли валидацию при отправке формы.

public boolean $validateOnSubmit = true

$validateOnType общественное свойство

Выполнять ли валидацию, пока пользователь вводит в поле ввода. Если yii\widgets\ActiveField::$validateOnType задан, его значение будет иметь приоритет для этого поля ввода.

См. также $validationDelay.

public boolean $validateOnType = false

$validatingCssClass общественное свойство

CSS-класс, который добавляется к контейнеру поля, когда связанный атрибут проходит валидацию.

public string $validatingCssClass = 'validating'

$validationDelay общественное свойство

Количество миллисекунд, на которое должна быть отложена валидация, когда пользователь вводит в поле, и $validateOnType установлен true. Если yii\widgets\ActiveField::$validationDelay задан, его значение будет иметь приоритет для этого поля ввода.

public integer $validationDelay = 500

$validationUrl общественное свойство

URL для выполнения AJAX-валидации. Это свойство будет обработано yii\helpers\Url::to(). Обратитесь к yii\helpers\Url::to() для получения дополнительной информации о настройке этого свойства. Если это свойство не задано, оно будет принимать значение атрибута действия формы.

public array|string $validationUrl = null

Подробное описание методов

beginField() public method

Начинает поле формы.

Этот метод создаст новое поле формы и вернет его открывающий тег. После этого следует вызвать endField().

См. также:

  • endField()
  • field()
public string beginField ( $model, $attribute, $options = [] )
$model yii\base\Model

Модель данных.

$attribute string

Имя или выражение атрибута. См. yii\helpers\Html::getAttributeName() для формата выражения атрибута.

$options array

Дополнительные настройки для объекта поля.

return string

Открывающий тег.

endField() public method

Завершает поле формы.

Этот метод вернет закрывающий тег поля активной формы, начатого с помощью beginField().

public string endField ( )
return string

Закрывающий тег поля формы.

throws yii\base\InvalidCallException

если этот метод вызывается без предварительного вызова beginField().

errorSummary() public method

Генерирует сводку ошибок валидации.

Если ошибок валидации нет, разметка сводки ошибок все равно будет сгенерирована, но она будет скрыта.

См. также $errorSummaryCssClass.

public string errorSummary ( $models, $options = [] )
$models yii\base\Model|yii\base\Model[]

Модель(и), связанная(ые) с этой формой.

$options array

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

  • header: строка, HTML-заголовок для сводки ошибок. Если не задан, будет использоваться строка приглашения по умолчанию.
  • footer: строка, HTML-подвал для сводки ошибок.

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

return string

Сгенерированная сводка ошибок.

field() public method

Генерирует поле формы.

Поле формы связано с моделью и атрибутом. Оно содержит метку, входные данные и сообщение об ошибке и использует их для взаимодействия с конечными пользователями для сбора их ввода для атрибута.

См. также $fieldConfig.

public yii\widgets\ActiveField field ( $model, $attribute, $options = [] )
$model yii\base\Model

Модель данных.

$attribute string

Имя или выражение атрибута. См. yii\helpers\Html::getAttributeName() для формата выражения атрибута.

$options array

Дополнительные настройки для объекта поля. Это свойства yii\widgets\ActiveField или подкласса, в зависимости от значения $fieldClass.

return yii\widgets\ActiveField

Созданный объект ActiveField.

getClientOptions() protected method

Возвращает параметры для виджета JS формы.

protected array getClientOptions ( )
return array

Параметры.

init() public method

Инициализирует виджет.

Это отображает открывающий тег формы.

public void init ( )

registerClientScript() public method (available since version 2.0.12)

Регистрирует необходимый код JavaScript.

public void registerClientScript ( )

run() public method

Запускает виджет.

Это регистрирует необходимый код JavaScript и отображает открывающие и закрывающие теги формы.

public void run ( )
throws yii\base\InvalidCallException

если вызовы beginField() и endField() не совпадают.

validate() public static method

Валидирует одну или несколько моделей и возвращает массив сообщений об ошибках с индексами по ID атрибутов.

Это вспомогательный метод, который упрощает написание кода AJAX-валидации.

Например, вы можете использовать следующий код в действии контроллера для ответа на запрос AJAX-валидации:

$model = new Post;
$model->load(Yii::$app->request->post());
if (Yii::$app->request->isAjax) {
    Yii::$app->response->format = Response::FORMAT_JSON;
    return ActiveForm::validate($model);
}
// ... respond to non-AJAX request ...

Для валидации нескольких моделей просто передайте каждую модель в качестве параметра этому методу, например:

ActiveForm::validate($model1, $model2, ...);
public static array validate ( $model, $attributes = null )
$model yii\base\Model

Модель для валидации.

$attributes mixed

Список атрибутов, которые должны быть проверены. Если этот параметр пуст, это означает, что любой атрибут, указанный в соответствующих правилах валидации, должен быть проверен.

Когда этот метод используется для проверки нескольких моделей, этот параметр будет интерпретироваться как модель.

return array

Массив сообщений об ошибках с индексами по ID атрибутов.

validateMultiple() public static method

Валидирует массив экземпляров моделей и возвращает массив сообщений об ошибках с индексами по ID атрибутов.

Это вспомогательный метод, который упрощает написание кода AJAX-валидации для табличного ввода.

Например, вы можете использовать следующий код в действии контроллера для ответа на запрос AJAX-валидации:

// ... load $models ...
if (Yii::$app->request->isAjax) {
    Yii::$app->response->format = Response::FORMAT_JSON;
    return ActiveForm::validateMultiple($models);
}
// ... respond to non-AJAX request ...
public static array validateMultiple ( $models, $attributes = null )
$models array

Массив моделей для валидации.

$attributes mixed

Список атрибутов, которые должны быть проверены. Если этот параметр пуст, это означает, что любой атрибут, указанный в соответствующих правилах валидации, должен быть проверен.

return array

Массив сообщений об ошибках с индексами по ID атрибутов.

© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-widgets-activeform.html

Spec-Zone.ru

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