Класс FormHelper
Библиотека для работы с формами.
Автоматическое создание HTML-форм на основе заданных данных.
- AppHelper
-
FormHelper
Ссылка: http://book.cakephp.org/2.0/ru/core-libraries/helpers/form.html
Авторские права: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: MIT License
Расположение: Cake/View/Helper/FormHelper.php
Краткое описание констант
-
string'skip'
Краткое описание свойств
-
$_domIdSuffixesprotectedСодержит уже использованные суффиксы ID DOM для предотвращения коллизий с несколькими элементами формы.array -
$_inputDefaultsprotectedПостоянные значения по умолчанию, используемые методом input(). Устанавливается методом FormHelper::create().array -
$_lastActionprotectedstringЗначение атрибута action последней созданной формы. Используется для создания специфичных для формы/запроса хешей для SecurityComponent.
-
$_modelsprotectedarrayСодержит ссылки на модели, загруженные этим помощником в результате попытки их проверки по именам полей
-
$_optionsprotectedПараметры, используемые для полей DateTimearray -
$_unlockedFieldsprotectedarrayМассив имён полей, исключённых из хеша Token, используемого методом validatePost компонента SecurityComponent
-
$defaultModelpublicМодель по умолчанию, используемая для текущей формы.string -
$fieldspublicСписок созданных полей, используется с защищенными формами.array -
$helperspublicДругие помощники, используемые FormHelperarray -
$requestTypepublicОпределяет тип создаваемой формы. Устанавливается методом FormHelper::create().string -
$validationErrorspublicarrayСодержит все ошибки валидации для загруженных моделей и проверенных данных. Также может быть установлено вручную для отображения пользовательских сообщений об ошибках в любом из полей ввода, созданных этим помощником
Краткое описание магических свойств
-
$Htmlpublic
Краткое описание методов
- __call() public
Обработчик отсутствующего метода — реализует различные простые типы ввода. Используется для создания элементов ввода различных типов. Например,
$this->Form->text();создаст<input type="text" />, а$this->Form->range();создаст<input type="range" /> - __construct() publicКопирует переменную validationErrors из объекта View в этот экземпляр
- _csrfField() protected
Возвращает элемент CSRF ввода, если _Token присутствует. Используется для защиты форм в сочетании с SecurityComponent
- _dateTimeSelected() protectedВыбирает значения для элементов выбора даты и времени.
- _divOptions() protectedГенерирует элементы div для ввода
- _extractOption() protectedИзвлекает один элемент из массива параметров.
- _generateOptions() protectedГенерирует списки параметров для общих меню
- _getDateTimeValue() protectedПарсит значение для выбранного значения даты и времени
- _getFormat() protectedГенерирует параметры формата
- _getInput() protectedГенерирует элемент ввода
- _getLabel() protectedГенерирует метку для элемента ввода
- _getModel() protected
Определяет расположение модели на основе ее имени и пытается создать новый экземпляр или получить уже созданный экземпляр модели
- _initInputField() protected
Устанавливает значения по умолчанию для поля и добавляет поле к хешу безопасности формы. Также добавит класс 'form-error', если поле содержит ошибки валидации.
- _inputLabel() protectedГенерирует метку для вызова input().
- _introspectModel() protected
Просматривает свойства модели, чтобы извлечь информацию из них. В настоящее время он может извлекать информацию из полей, первичного ключа и обязательных полей
- _isRequiredField() protectedВозвращает значение, если поле должно быть заполнено на основе свойств валидации из объекта валидации.
- _lastAction() protectedУстанавливает последнее созданное действие формы.
- _magicOptions() protectedМагически устанавливает тип и соответствующие параметры
- _maxLength() protectedВычисляет параметр maxlength
- _name() protectedПолучает имя поля элемента ввода для текущего тега
- _optionsOptions() protectedГенерирует список параметров для множественного выбора
- _parseOptions() protectedГенерирует массив параметров ввода
- _secure() protected
Определяет, какие поля формы следует использовать для хэша. Заполняет $this->fields
- _secureFieldName() protectedПолучает имя поля для использования с _secure().
- _selectOptions() protectedВозвращает массив отформатированных элементов OPTION/OPTGROUP
- button() public
Создает тег
<button>. Атрибут type по умолчаниюtype="submit". Можно изменить его на другое значение с помощью$options['type']. - checkbox() publicСоздает элемент ввода типа checkbox.
- create() publicВозвращает элемент HTML FORM.
- dateTime() publicВозвращает набор элементов SELECT для полной настройки даты и времени: день, месяц и год, а затем время.
- day() publicВозвращает элемент SELECT для дней.
- domIdSuffix() public
Генерирует допустимый суффикс ID DOM из строки. Также избегает коллизий, когда несколько значений преобразуются в один и тот же суффикс, добавляя числовое значение.
- end() public
Закрывает форму HTML, очищает значения, установленные FormHelper::create(), и записывает скрытые поля ввода, где это необходимо.
- error() publicВозвращает отформатированное сообщение об ошибке для данного поля FORM, NULL, если ошибок нет.
- file() publicСоздает элемент ввода типа file.
- hidden() publicСоздает скрытое поле ввода.
- hour() publicВозвращает элемент SELECT для часов.
- input() publicГенерирует элемент ввода формы вместе с меткой и обертывающим div
- inputDefaults() publicУстанавливает/получает inputDefaults для элементов формы
- inputs() public
Генерирует набор элементов ввода для
$fields. Если $fields равен null, будут использоваться поля текущей модели. - isFieldError() publicВозвращает true, если для данного поля есть ошибка, иначе false
- label() public
Возвращает отформатированный элемент LABEL для HTML-форм. Автоматически сгенерирует атрибут
for, если он не указан. - meridian() publicВозвращает элемент SELECT для AM или PM.
- minute() publicВозвращает элемент SELECT для минут.
- month() publicВозвращает элемент SELECT для месяцев.
- postButton() publicСоздает тег
<button>с окружающим<form>, который отправляет данные по методу POST. - postLink() public
Создает HTML-ссылку, но обращается к URL с помощью указанного метода (по умолчанию POST). Требует включения JavaScript в браузере.
- radio() public
Создаёт набор элементов радио. По умолчанию создаёт legend и fieldset. Используйте $options для управления этим
- secure() public
Генерирует скрытое поле с хэшем безопасности, основанным на полях, используемых в форме.
- select() publicВозвращает отформатированный элемент SELECT.
- submit() public
Создаёт элемент кнопки отправки. Этот метод сгенерирует
<input />элементы, которые можно использовать для отправки и сброса форм с помощью $options. Можно создать кнопки отправки с изображениями, указав путь к изображению для $caption. - tagIsInvalid() public
Возвращает false, если у заданного поля формы, описанного текущим объектом, нет ошибок. В противном случае возвращает сообщение об ошибке.
- textarea() publicСоздаёт элемент textarea.
- unlockField() public
Добавляет или получает список полей, которые в настоящее время разблокированы. Разблокированные поля не включаются в хеш полей, используемый SecurityComponent. Разблокирование поля, которое уже добавлено в список защищённых полей, удалит его из списка полей.
- year() publicВозвращает элемент SELECT для годов
Подробное описание методов
__call()source public
__call( string $method , array $params )
Обработчик отсутствующего метода — реализует различные простые типы ввода. Используется для создания элементов ввода различных типов. Например, $this->Form->text(); создаст <input type="text" />, в то время как $this->Form->range(); создаст <input type="range" />
Использование
$this->Form->search('User.query', array('value' => 'test'));
Создаст элемент ввода, подобный:
<input type="search" id="UserQuery" name="data[User][query]" value="test" />
Первый аргумент типа ввода всегда должен быть именем поля в формате Model.field. Второй аргумент всегда должен быть массивом атрибутов для элемента ввода.
Параметры
- строка
$method - Имя метода/тип ввода для создания.
- массив
$params - Параметры для вызова метода
Возвращает
строкаОтформатированный метод элемента ввода.
Выбрасывает
CakeExceptionКогда нет параметров для вызова метода.
__construct()source public
__construct( View $View , array $settings array() )
Копирует переменную validationErrors из объекта View в этот экземпляр
Параметры
-
View$View - Объект View, к которому подключается этот помощник.
- массив
$settingsнеобязательно массив() - Параметры настройки помощника.
_csrfField()source protected
_csrfField( )
Возвращает элемент CSRF ввода, если _Token присутствует. Используется для защиты форм в сочетании с SecurityComponent
Возвращает
строка_dateTimeSelected()source protected
_dateTimeSelected( string $select , string $fieldName , array $attributes )
Выбирает значения для элементов выбора даты и времени.
Параметры
- строка
$select - Имя поля элемента. Пример: 'день'
- строка
$fieldName - Имя поля, генерируемого, например: Model.created
- массив
$attributes - Массив атрибутов, должен содержать ключ 'empty'.
Возвращает
массивМассив атрибутов с текущим выбранным значением.
_divOptions()source protected
_divOptions( array $options )
Генерирует элементы div для опций ввода
Параметры
- массив
$options - Список опций.
Возвращает
массив_extractOption()source protected
_extractOption( string $name , array $options , mixed $default null )
Извлекает отдельную опцию из массива опций.
Параметры
- строка
$name - Имя опции, которую нужно извлечь.
- массив
$options - Массив опций, из которого нужно извлечь.
- смешанное
$defaultнеобязательно null - Значение по умолчанию для опции
Возвращает
смешанноеСодержимое опции или значение по умолчанию
_generateOptions()source protected
_generateOptions( string $name , array $options array() )
Генерирует списки опций для общих меню
Параметры
- строка
$name - Имя типа списка.
- массив
$optionsнеобязательно массив() - Список опций.
Возвращает
массив_getDateTimeValue()source protected
_getDateTimeValue( string|array $value , integer $timeFormat )
Парсинг значения для выбранного значения даты и времени
Параметры
- строка|массив
$value - Выбранное значение.
- целое число
$timeFormat - Формат времени
Возвращает
массивМассив выбранного значения.
_getFormat()source protected
_getFormat( array $options )
Генерирует параметры формата
Параметры
- массив
$options - Список опций.
Возвращает
массив_getInput()source protected
_getInput( array $args )
Генерирует элемент ввода
Параметры
- массив
$args - Параметры для элемента ввода
Возвращает
строкаСгенерированный элемент ввода
_getLabel()source protected
_getLabel( string $fieldName , array $options )
Генерирует метку для вызова input()
$options может содержать хеш с переопределениями id. Эти переопределения будут использоваться вместо сгенерированных значений, если присутствуют.
Параметры
- строка
$fieldName - Имя поля.
- строка|массив
$label - Текст метки или массив с текстом и опциями.
- массив
$options Параметры для элемента метки. Опция 'NONE' устарела и будет удалена в версии 3.0
Возвращает
строкаСгенерированный элемент метки
_getModel()source protected
_getModel( string $model )
Определяет расположение модели на основе ее имени и пытается создать новый экземпляр или получить уже созданный экземпляр модели
Параметры
- строка
$model - Имя модели.
Возвращает
Model|nullЭкземпляр модели
_initInputField()source protected
_initInputField( string $field , array $options array() )
Устанавливает значения по умолчанию для поля и добавляет поле в хеш безопасности ввода формы. Также добавит класс 'form-error', если поле содержит ошибки валидации.
Параметры
-
secure- логическое значение, определяющее, следует ли добавлять поле в поля безопасности. Отключение поля с помощью параметраdisabled, также исключит поле из хешированного ключа.
Этот метод преобразует числовой индексированный 'disabled' в ассоциативное значение. Внутренние механизмы FormHelper ожидают ассоциативные параметры.
Параметры
- строка
$field - Имя поля для инициализации параметров.
- массив
$optionsнеобязательно массив() - Массив параметров для добавления опций.
Возвращает
массивМассив параметров для элемента ввода.
_inputLabel()source protected
_inputLabel( string $fieldName , string|array $label , array $options )
Генерирует метку для вызова input()
$options может содержать хеш с переопределениями id. Эти переопределения будут использоваться вместо сгенерированных значений, если присутствуют.
Параметры
- строка
$fieldName - Имя поля.
- строка|массив
$label - Текст метки или массив с текстом и опциями.
- массив
$options Параметры для элемента метки. Опция 'NONE' устарела и будет удалена в версии 3.0
Возвращает
строкаСгенерированный элемент метки
_introspectModel()source protected
_introspectModel( string $model , string $key , string $field null )
Анализирует свойства модели, чтобы извлечь информацию из них. В настоящее время он может извлекать информацию из полей, первичного ключа и обязательных полей.
Параметр $key принимает следующие значения:
- key: Возвращает имя первичного ключа модели
- fields: Возвращает схему модели
- validates: возвращает список полей, которые обязательны
- errors: возвращает список ошибок валидации
Если передан параметр $field, он вернет информацию для этого единственного поля.
$this->_introspectModel('Post', 'fields', 'title'); вернет информацию о схеме столбца title
Параметры
- строка
$model - Имя модели для извлечения информации
- строка
$key - Имя специального ключа для получения (key, fields, validates, errors)
- строка
$fieldнеобязательно null - Имя поля модели для получения информации
Возвращает
смешанноеИзвлеченная информация для специального ключа и поля в модели
_isRequiredField()source protected
_isRequiredField( CakeValidationSet $validationRules )
Возвращает, является ли поле обязательным для заполнения на основе свойств валидации из объекта валидации.
Параметры
-
CakeValidationSet$validationRules - Набор правил валидации.
Возвращает
booleantrue, если поле обязательно для заполнения, false в противном случае
_lastAction()source protected
_lastAction( string|array $url )
Устанавливает последнее созданное действие формы.
Параметры
- string|array
$url - URL.
_magicOptions()source protected
_magicOptions( array $options )
Магически устанавливает тип параметра и соответствующие параметры
Параметры
- array
$options - Список параметров.
Возвращает
array_maxLength()source protected
_maxLength( array $options )
Вычисляет параметр maxlength
Параметры
- array
$options - Список параметров.
Возвращает
array_name()source protected
_name( array $options array() , string $field null , string $key 'name' )
Получает имя поля ввода для текущего тега
Параметры
- array
$optionsнеобязательно array() - Список параметров.
- string
$fieldнеобязательно null - Имя поля.
- string
$keyнеобязательно 'name' - Имя ключа.
Возвращает
array_optionsOptions()source protected
_optionsOptions( array $options )
Генерирует список параметров для множественного выбора
Параметры
- array
$options - Список параметров.
Возвращает
array_parseOptions()source protected
_parseOptions( array $options )
Генерирует массив параметров ввода
Параметры
- array
$options - Список параметров.
Возвращает
arrayПараметры
_secure()source protected
_secure( boolean $lock , string|array $field null , mixed $value null )
Определяет, какие поля формы должны использоваться для хеширования. Заполняет $this->fields
Параметры
- boolean
$lock Является ли это поле частью валидации или исключено в рамках unlockedFields.
- string|array
$fieldнеобязательно null - Ссылка на поле, которое необходимо закрепить. Должна быть разделена точкой для указания вложенности.
- mixed
$valueнеобязательно null - Значение поля, если значение не должно быть изменено.
_secureFieldName()source protected
_secureFieldName( array $options )
Получить имя поля для использования с _secure().
Парсит атрибут name, чтобы создать значение имени, разделенное точкой, для использования в хешировании защищенного поля.
Параметры
- array
$options - Массив параметров, возможно содержащий ключ name.
Возвращает
string|null_selectOptions()source protected
_selectOptions( array $elements array() , array $parents array() , boolean $showParents null , array $attributes array() )
Возвращает массив отформатированных элементов OPTION/OPTGROUP
Параметры
- array
$elementsнеобязательно array() - Элементы для форматирования.
- array
$parentsнеобязательно array() - Родители для OPTGROUP.
- boolean
$showParentsнеобязательно null - Показывать ли родителей.
- array
$attributesнеобязательно array() - Атрибуты HTML.
Возвращает
arraybutton()source public
button( string $title , array $options array() )
Создаёт тег <button>. Атрибут type по умолчанию type="submit". Можно изменить на другое значение, используя $options['type'].
Параметры:
-
escape- кодирует HTML-сущности $title кнопки. По умолчанию false.
Параметры
- string
$title - Заголовок кнопки. Не кодируется автоматически в HTML
- array
$optionsнеобязательно array() - Массив параметров и атрибутов HTML.
Возвращает
stringТег HTML кнопки.
Ссылка
http://book.cakephp.org/2.0/en/core-libraries/helpers/form.html#FormHelper::buttoncheckbox()source public
checkbox( string $fieldName , array $options array() )
Создаёт элемент ввода типа checkbox.
Параметры:
-
value- значение checkbox -
checked- boolean, указывает, что checkbox выбран. -
hiddenField- boolean, указывает, нужно ли добавлять скрытый элемент ввода со значением ''. -
disabled- создать отключенный элемент ввода. -
default- установить значение по умолчанию для checkbox. Это позволяет устанавливать checkbox по умолчанию, без проверки данных POST. Соответствующее значение POST перезапишет значение по умолчанию.
Параметры
- string
$fieldName - Имя поля, например "Modelname.fieldname"
- array
$optionsнеобязательно array() - Массив атрибутов HTML.
Возвращает
stringЭлемент HTML текстового поля ввода.
Ссылка
http://book.cakephp.org/2.0/en/core-libraries/helpers/form.html#options-for-select-checkbox-and-radio-inputscreate()source public
create( mixed|null $model null , array $options array() )
Возвращает элемент HTML FORM.
Параметры:
-
typeМетод формы по умолчанию POST -
actionДействие контроллера, в который отправляется форма (необязательно). Устарело с версии 2.8, используйтеurl. -
urlURL, в который отправляется форма. Может быть строкой или массивом URL. Если используется 'url', оставьте 'action' неопределённым. -
defaultПозволяет создавать AJAX-формы. Установите в false, чтобы предотвратить обработчик по умолчанию. Создаст атрибут onsubmit, если он не существует. Если он существует, действие по умолчанию будет добавлено. -
onsubmitИспользуется совместно с 'default' для создания AJAX-форм. -
inputDefaultsУстанавливает значения по умолчанию $options для FormHelper::input(). Любые параметры, которые были бы установлены при использовании FormHelper::input(), могут быть установлены здесь. Параметры, установленные сinputDefaultsмогут быть переопределены при вызове input() -
encodingУстанавливает кодировку accept-charset для формы. По умолчаниюConfigure::read('App.encoding')
Параметры
- mixed|null
$modelнеобязательно null Имя модели, для которой определяется форма. Должно включать имя плагина для моделей плагина. Например
ContactManager.Contact. Если передан массив и аргумент $options пустой, массив будет использован как параметры. Еслиfalseни одна модель не используется.- array
$optionsнеобязательно array() - Массив атрибутов HTML и параметров.
Возвращает
stringОтформатированный открывающий тег FORM.
Ссылка
http://book.cakephp.org/2.0/en/core-libraries/helpers/form.html#options-for-createdateTime()source public
dateTime( string $fieldName , string $dateFormat 'DMY' , string $timeFormat '12' , array $attributes array() )
Возвращает набор элементов SELECT для полного формата даты и времени: день, месяц и год, а затем время.
Атрибуты:
-
monthNamesЕсли false, будут использоваться 2-значные числа вместо текста. Если массив, будет использован предоставленный массив. -
minYearМинимальный год для использования в выборе года. -
maxYearМаксимальный год для использования в выборе года. -
intervalИнтервал для выбора минут. По умолчанию 1. -
separatorСодержимое строки между элементами выбора. По умолчанию '-'. -
empty- Если true, отображается пустой элемент выбора. Если строка, эта строка отображается как пустой элемент. -
round- Устанавливается вupилиdown, если нужно принудительно округлять в определенном направлении. По умолчанию null. -
value|defaultЗначение по умолчанию для ввода. Значение в$this->data, соответствующее имени поля, переопределит это значение. Если значение по умолчанию не указано, используетсяtime().
Параметры
- строка
$fieldName - Префикс имени для элемента SELECT.
- строка
$dateFormatнеобязательно 'DMY' - DMY, MDY, YMD или null, чтобы не генерировать ввод даты.
- строка
$timeFormatнеобязательно '12' - 12, 24 или null, чтобы не генерировать ввод времени.
- массив
$attributesнеобязательно array() - Массив атрибутов.
Возвращает
строкаСгенерированный набор элементов выбора для форматов даты и времени.
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/helpers/form.html#FormHelper::dateTimeday()source public
day( string $fieldName null , array $attributes array() )
Возвращает элемент SELECT для дней.
Атрибуты:
-
empty- Если true, отображается пустой элемент выбора. Если строка, эта строка отображается как пустой элемент. -
valueВыбранное значение ввода.
Параметры
- строка
$fieldNameнеобязательно null - Префикс имени для элемента SELECT.
- массив
$attributesнеобязательно array() - Атрибуты HTML для элемента select.
Возвращает
строкаСгенерированный элемент выбора для дней.
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/helpers/form.html#FormHelper::daydomIdSuffix()source public
domIdSuffix( string $value , string $type 'html4' )
Генерирует корректный суффикс ID DOM из строки. Также предотвращает коллизии, когда несколько значений преобразуются в один и тот же суффикс, добавляя числовое значение.
Для ID до HTML5 допустимы только символы a-z 0-9 - _ . HTML5 не имеет такого ограничения, но для избежания проблем с отображением все равно фильтруются некоторые чувствительные символы.
Параметры
- строка
$value - Значение, которое должно быть преобразовано в суффикс ID DOM.
- строка
$typeнеобязательно 'html4' - Допустимый тип документа. По умолчанию html4.
Возвращает
строкаID DOM
end()source public
end( string|array $options null , array $secureAttributes array() )
Закрывает форму HTML, очищает значения, установленные FormHelper::create(), и записывает скрытые поля ввода, где это необходимо.
Если $options задано, будет создана кнопка отправки формы. Options может быть строкой или массивом.
array usage:
array('label' => 'save'); value="save"
array('label' => 'save', 'name' => 'Whatever'); value="save" name="Whatever"
array('name' => 'Whatever'); value="Submit" name="Whatever"
array('label' => 'save', 'name' => 'Whatever', 'div' => 'good') <div class="good"> value="save" name="Whatever"
array('label' => 'save', 'name' => 'Whatever', 'div' => array('class' => 'good')); <div class="good"> value="save" name="Whatever" Если $secureAttributes задано, эти атрибуты HTML будут объединены в скрытые поля ввода, сгенерированные для компонента Security. Это особенно полезно для установки атрибутов HTML5, таких как 'form'
Параметры
- строка|массив
$optionsнеобязательно null - в качестве строки будет использовать $options как значение кнопки,
- массив
$secureAttributesнеобязательно array() будет передан как атрибуты HTML в скрытые поля ввода, сгенерированные для компонента Security.
Возвращает
строказакрывающий тег FORM, необязательно кнопку отправки.
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/helpers/form.html#closing-the-formerror()source public
error( string $field , string|array $text null , array $options array() )
Возвращает отформатированное сообщение об ошибке для заданного поля FORM, NULL, если ошибок нет.
Опции:
-
escapeбулево - Определяет, нужно ли экранировать содержимое сообщения об ошибке. -
wrapсмешанное - Определяет, нужно ли заключать сообщение об ошибке в div. Если строка, будет использоваться как тег HTML. -
classстрока - Имя класса для сообщения об ошибке.
Параметры
- строка
$field - Имя поля, например, "Modelname.fieldname"
- строка|массив
$textнеобязательно null Сообщение об ошибке в виде строки или массива сообщений. Если массив содержит
attributesключ, он будет использован как опции для контейнера ошибки.- массив
$optionsнеобязательно array() -
Параметры рендеринга для
тега-контейнера
Возвращает
строка|nullЕсли есть ошибки, метод возвращает сообщение об ошибке, иначе null.
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/helpers/form.html#FormHelper::errorfile()source public
file( string $fieldName , array $options array() )
Создаёт элемент ввода файла.
Параметры
- строка
$fieldName - Имя поля, в формате "Modelname.fieldname"
- массив
$optionsнеобязательно array() - Массив атрибутов HTML.
Возвращает
строкаСгенерированный элемент ввода файла.
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/helpers/form.html#FormHelper::filehidden()source public
hidden( string $fieldName , array $options array() )
Создаёт скрытое поле ввода.
Параметры
- строка
$fieldName - Имя поля, в формате "Modelname.fieldname"
- массив
$optionsнеобязательно array() - Массив атрибутов HTML.
Возвращает
строкаСгенерированное скрытое поле ввода.
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/helpers/form.html#FormHelper::hiddenhour()source public
hour( string $fieldName , boolean $format24Hours false , array $attributes array() )
Возвращает элемент SELECT для часов.
Атрибуты:
-
empty- Если true, отображается пустой элемент выбора. Если строка, эта строка отображается как пустой элемент. -
valueВыбранное значение ввода.
Параметры
- строка
$fieldName - Префикс имени для элемента SELECT.
- булево
$format24Hoursнеобязательно false - True для 24-часового формата.
- массив
$attributesнеобязательно array() - Список атрибутов HTML.
Возвращает
строкаЗаполненный элемент выбора для часов.
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/helpers/form.html#FormHelper::hourinput()source public
input( string $fieldName , array $options array() )
Генерирует элемент формы input вместе с меткой и обертывающим div
Параметры
См. каждый метод типа поля для получения дополнительной информации. Любые параметры, являющиеся частью $attributes или $options для разных методов type, могут быть включены в $options для input().i Кроме того, любые неизвестные ключи, которые не находятся в списке ниже или не являются частью параметров выбранного типа, будут обрабатываться как обычные атрибуты html для сгенерированного input.
-
type— Принудительно установить желаемый тип виджета. Например,type => 'select' -
label— Либо строковая метка, либо массив параметров для метки. См. FormHelper::label(). -
div— Либоfalseдля отключения div, либо массив параметров для div. См. HtmlHelper::div() для получения дополнительных параметров. -
options— Для виджетов, которые принимают параметры, например, radio, select. -
error— Управление сообщением об ошибке. Установитеfalseдля отключения любого вида отчётов об ошибках (ошибки поля и сообщения об ошибках). -
errorMessage— Булево значение для управления отображением сообщений об ошибках (ошибка поля всё равно произойдёт). -
empty— Строка или булево значение для включения пустых вариантов в выпадающем списке. -
before— Содержимое, размещаемое перед меткой + input. -
after— Содержимое, размещаемое после метки + input. -
between— Содержимое, размещаемое между меткой + input. -
format— Шаблон форматирования порядка элементов. Любой элемент, который не входит в массив, не будет отображаться в выводе. - Порядок форматирования input по умолчанию: array('before', 'label', 'between', 'input', 'after', 'error')
- Порядок форматирования checkbox по умолчанию: array('before', 'input', 'between', 'label', 'after', 'error')
- Форматирование скрытого input не будет выполняться.
- Для радиокнопок порядок элементов input и label нельзя контролировать с помощью этих настроек.
Параметры
- строка
$fieldName - Должно быть "Modelname.fieldname"
- массив
$optionsнеобязательный массив() - Каждый тип ввода требует разных параметров.
Возвращает
строкаЗавершенный виджет формы.
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/helpers/form.html#creating-form-elementsinputDefaults()source public
inputDefaults( array $defaults null , boolean $merge false )
Устанавливает/получает inputDefaults для элементов формы
Параметры
- массив
$defaultsнеобязательный null - Новые значения по умолчанию
- булево
$mergeнеобязательный false - Объединить со значениями по умолчанию
Возвращает
массивinputDefaults
inputs()source public
inputs( array $fields null , array $blacklist null , array $options array() )
Генерирует набор вводов для $fields. Если $fields равно null, используются поля текущей модели.
Вы можете настроить отдельные вводы с помощью $fields.
$this->Form->inputs(array(
'name' => array('label' => 'custom label')
)); В дополнение к выводу полей контроллера, $fields можно использовать для управления рендерингом легенды и fieldset. $this->Form->inputs('My legend'); сгенерирует набор ввода с пользовательской легендой. Передача fieldset и legend ключей в $fields массив устарела с версии 2.3. Для более точного управления используйте fieldset и legend ключи в $options параметре.
Параметры
- массив
$fieldsнеобязательный null - Массив полей для генерации вводов, или null.
- массив
$blacklistнеобязательный null - Простой массив полей, для которых не нужно создавать вводы.
- массив
$optionsнеобязательный массив() Массив параметров. Допустимые ключи: -
fieldsetУстановите значение в false, чтобы отключить fieldset. Если передаётся строка, она будет использоваться как имя класса для элемента fieldset. -legendУстановите значение в false, чтобы отключить легенду для сгенерированного набора ввода. Или передайте строку для настройки текста легенды.
Возвращает
строкаЗавершенные вводы формы.
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/helpers/form.html#FormHelper::inputsisFieldError()source public
isFieldError( string $field )
Возвращает true, если для заданного поля есть ошибка, иначе false
Параметры
- строка
$field - Должно быть "Modelname.fieldname"
Возвращает
булевоЕсли есть ошибки, этот метод возвращает true, иначе false.
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/helpers/form.html#FormHelper::isFieldErrorlabel()source public
label( string $fieldName null , string $text null , array|string $options array() )
Возвращает отформатированный элемент LABEL для HTML-форм. Автоматически сгенерирует атрибут for если он не указан.
Параметры
-
for— Установите атрибут for, если он не определен, атрибут for будет сгенерирован из параметра $fieldName с помощью FormHelper::domId().
Примеры:
Текст и атрибут for генерируются на основе имени поля
echo $this->Form->label('Post.published');
<label for="PostPublished">Published</label> Пользовательский текст:
echo $this->Form->label('Post.published', 'Publish');
<label for="PostPublished">Publish</label> Пользовательское имя класса:
echo $this->Form->label('Post.published', 'Publish', 'required');
<label for="PostPublished" class="required">Publish</label> Пользовательские атрибуты:
echo $this->Form->label('Post.published', 'Publish', array(
'for' => 'post-publish'
));
<label for="post-publish">Publish</label> Предупреждение В отличие от большинства методов FormHelper, этот метод не автоматически экранирует параметр $text. Вы должны самостоятельно экранировать параметр $text, если используете данные, введенные пользователем.
Параметры
- строка
$fieldNameнеобязательный null - Должно быть "Modelname.fieldname"
- строка
$textнеобязательный null Текст, который будет отображаться в поле метки. Если $text не определен, текст будет извлечен из fieldName.
- массив|строка
$optionsнеобязательный массив() - Массив HTML-атрибутов или строка, используемая как имя класса.
Возвращает
строкаОтформатированный элемент LABEL
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/helpers/form.html#FormHelper::labelmeridian()source public
meridian( string $fieldName , array $attributes array() )
Возвращает элемент SELECT для AM или PM.
Атрибуты:
-
empty— Если true, пустой вариант select отображается. Если строка, эта строка отображается как пустой элемент. -
valueВыбранное значение ввода.
Параметры
- строка
$fieldName - Префикс имени для элемента SELECT
- массив
$attributesнеобязательный массив() - Массив атрибутов
Возвращает
строкаЗавершенный элемент select meridian
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/helpers/form.html#FormHelper::meridianminute()source public
minute( string $fieldName , array $attributes array() )
Возвращает элемент SELECT для минут.
Атрибуты:
-
empty— Если true, пустой вариант select отображается. Если строка, эта строка отображается как пустой элемент. -
valueВыбранное значение ввода.
Параметры
- строка
$fieldName - Префикс имени для элемента SELECT
- массив
$attributesнеобязательный массив() - Массив атрибутов
Возвращает
строкаЗавершенный элемент select minute.
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/helpers/form.html#FormHelper::minutemonth()source public
month( string $fieldName , array $attributes array() )
Возвращает элемент SELECT для месяцев.
Атрибуты:
-
monthNames- Если false, будут использоваться двузначные числа вместо текста. Если массив, будет использован переданный массив. -
empty- Если true, отображается пустой элемент выбора. Если строка, эта строка отображается в качестве пустого элемента. -
valueВыбранное значение поля ввода.
Параметры
- строка
$fieldName - Префикс имени для элемента SELECT
- массив
$attributesнеобязательно массив() - Атрибуты для элемента select
Возвращаемое значение
строкаСгенерированный выпадающий список выбора месяца.
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/helpers/form.html#FormHelper::monthpostButton()source public
postButton( string $title , string|array $url , array $options array() )
Создаёт тег <button> с окружающим <form> для отправки данных по методу POST.
Этот метод создаёт элемент <form>. Не используйте этот метод внутри уже открытой формы. Вместо этого используйте FormHelper::submit() или FormHelper::button() для создания кнопок внутри открытых форм.
Параметры:
-
data- Массив с парами ключ/значение для передачи в скрытые поля ввода - Другие параметры такие же, как и в методе button.
Параметры
- строка
$title - Текст кнопки. Не кодируется автоматически в HTML.
- строка|массив
$url - URL в виде строки или массива
- массив
$optionsнеобязательно массив() - Массив опций и HTML атрибутов.
Возвращаемое значение
строкаТег HTML кнопки.
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/helpers/form.html#FormHelper::postButtonpostLink()source public
postLink( string $title , string|array $url null , array $options array() , boolean|string $confirmMessage false )
Создаёт HTML ссылку, но обращение к URL происходит с помощью указанного метода (по умолчанию POST). Требует включённого JavaScript в браузере.
Этот метод создаёт элемент <form> . Если вы хотите использовать этот метод внутри существующей формы, вы должны использовать inline или block опции, чтобы новая форма была помещена в блок представления, который может быть отображён вне основной формы.
Если вам нужна только кнопка для отправки формы, используйте FormHelper::submit() вместо этого.
Параметры:
-
data- Массив с парами ключ/значение для передачи в скрытые поля ввода -
method- Метод запроса для использования. Установите в 'delete', чтобы имитировать HTTP/1.1 DELETE запрос. По умолчанию 'post'. -
confirm- Может быть использован вместо $confirmMessage. -
inline- Включает ли тег формы отображение в строку. Установите в false, чтобы тег формы был добавлен в блок представления 'postLink'. По умолчанию true. -
block- Выберите пользовательский блок для добавления тега формы. Использование этой опции переопределит опцию inline. - Другие опции такие же, как и в методе HtmlHelper::link().
- Опция
onclickбудет заменена.
Параметры
- строка
$title - Содержимое, которое будет обернуто тегами .
- строка|массив
$urlнеобязательно null - URL, относительный к Cake, или массив параметров URL, или внешний URL (начинается с http://)
- массив
$optionsнеобязательно массив() - Массив HTML атрибутов.
- boolean|строка
$confirmMessageнеобязательно false Сообщение подтверждения JavaScript. Этот аргумент устарел с версии 2.6. Используйте ключ
confirmв $options вместо него.
Возвращаемое значение
Элемент<a />Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/helpers/form.html#FormHelper::postLinkradio()source public
radio( string $fieldName , array $options array() , array $attributes array() )
Создаёт набор радио-кнопок. По умолчанию создаёт легенду и набор полей. Используйте $options для управления этим
Также можно настраивать каждый элемент радио-кнопки с помощью массива массивов:
$options = array(
array('name' => 'United states', 'value' => 'US', 'title' => 'My title'),
array('name' => 'Germany', 'value' => 'DE', 'class' => 'de-de', 'title' => 'Another title'),
); Атрибуты:
-
separator- определяет строку между радио-кнопками -
between- строку между легендой и набором элементов или массив строк для вставки строк между блоками элементов -
legend- управляет наличием набора полей и легенды -
fieldset- устанавливает класс для набора полей. Набор полей генерируется только если предоставлена легенда -
value- указывает значение, которое должно быть выбрано -
label- булево значение, указывающее, должны ли отображаться метки для элементов -
hiddenField- булево значение, указывающее, нужно ли включать скрытое поле со значением '' в результаты radio() . Это полезно для создания наборов радио-кнопок, где значения не непрерывны -
disabled- Установите вtrueилиdisabledдля отключения всех радио-кнопок. -
empty- Установите вtrueдля создания поля со значением '' как первого варианта. При этом метка радио-кнопки будет 'пустое'. Установите эту опцию в строку для управления значением метки.
Параметры
- строка
$fieldName - Имя поля, например "Modelname.fieldname"
- массив
$optionsнеобязательно массив() - Массив опций радио-кнопок.
- массив
$attributesнеобязательно массив() - Массив HTML атрибутов и специальных атрибутов, перечисленных выше.
Возвращаемое значение
Строка с набором радио-кнопок.Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/helpers/form.html#options-for-select-checkbox-and-radio-inputssecure()source public
secure( array|null $fields array() , array $secureAttributes array() )
Генерирует скрытое поле с хэш-кодом безопасности, основанным на полях, используемых в форме.
Если $secureAttributes задано, эти HTML атрибуты будут объединены в скрытые теги ввода, сгенерированные для компонента Security. Это особенно полезно для установки HTML5 атрибутов, таких как 'form'.
Параметры
- массив|null
$fieldsнеобязательно массив() Если установлено, указывает список полей, которые следует использовать при генерации хэша; в противном случае используется $this->fields.
- массив
$secureAttributesнеобязательно массив() будет передан в качестве HTML атрибутов скрытых элементам ввода, сгенерированным для компонента Security.
Возвращаемое значение
строка|nullСкрытое поле ввода с хэш-кодом безопасности, в противном случае null.
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/helpers/form.html#FormHelper::secureselect()source public
select( string $fieldName , array $options array() , array $attributes array() )
Возвращает отформатированный элемент SELECT.
Атрибуты:
-
showParents- Если включён в массив и установлен в значение true, будет добавлен дополнительный элемент option для родительской группы каждого option-группировки. Можно установить option с тем же именем, и его ключ будет использован в качестве значения option. -
multiple- отображает поле множественного выбора. Если установлено в 'checkbox', вместо этого будут созданы несколько флажков. -
empty- Если true, отображается пустой элемент select. Если строка, эта строка отображается как пустой элемент. -
escape- Если true, содержимое опций будет закодировано в HTML-сущности. По умолчанию true. -
value- Выбранное значение поля ввода. -
class- При использовании multiple = checkbox имя класса, которое следует применить к div'ам. По умолчанию 'checkbox'. -
disabled- Управляет атрибутом disabled. При создании поля select, установите в true, чтобы отключить поле select. При создании флажков,trueотключит все флажки. Также можно установить disabled в список значений, которые нужно отключить при создании флажков.
Использование опций
Простой массив создаст обычные опции:
$options = array(1 => 'one', 2 => 'two);
$this->Form->select('Model.field', $options)); В то время как вложенный массив опций создаст группы optgroup с опциями внутри них.
$options = array(
1 => 'bill',
'fred' => array(
2 => 'fred',
3 => 'fred jr.'
)
);
$this->Form->select('Model.field', $options); В приведенном выше примере 2 => 'fred' не сгенерирует элемент option. Вам нужно включить атрибут showParents чтобы показать опцию fred.
Если у вас есть несколько опций, которые должны иметь одинаковое значение атрибута value, вы можете использовать массив массивов для его выражения:
$options = array(
array('name' => 'United states', 'value' => 'USA'),
array('name' => 'USA', 'value' => 'USA'),
); Параметры
- строка
$fieldName - Атрибут name для SELECT
- массив
$optionsнеобязательно массив() Массив элементов OPTION (в виде пар 'значение'=>'Текст'), которые будут использоваться в элементе SELECT
- массив
$attributesнеобязательно массив() - HTML-атрибуты элемента select.
Возвращает
строкаОтформатированный элемент SELECT
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/helpers/form.html#options-for-select-checkbox-and-radio-inputssubmit()source public
submit( string $caption null , array $options array() )
Создаёт элемент кнопки отправки. Этот метод сгенерирует элементы <input /> которые могут быть использованы для отправки и сброса форм с помощью $options. Кнопки отправки с изображениями могут быть созданы, указав путь к изображению в $caption.
Опции
-
div- Включить ли обертывающий div? По умолчанию true. Принимает подопции, аналогичные FormHelper::input(). -
before- Содержимое, которое нужно включить перед полем ввода. -
after- Содержимое, которое нужно включить после поля ввода. -
type- Установите в 'reset' для кнопок сброса. По умолчанию 'submit' -
confirm- Сообщение подтверждения JavaScript. - Другие атрибуты будут назначены элементу input.
Опции
-
div- Включить ли обертывающий div? По умолчанию true. Принимает подопции, аналогичные FormHelper::input(). - Другие атрибуты будут назначены элементу input.
Параметры
- строка
$captionнеобязательно null Метка, отображаемая на кнопке или, если строка содержит :// или расширение .jpg, .jpe, .jpeg, .gif, .png, использует изображение, если расширение существует, и первая буква - /, изображение относительно webroot, или если первая буква не /, изображение относительно webroot/img.
- массив
$optionsнеобязательно массив() - Массив опций. Смотрите выше.
Возвращает
строкаHTML-кнопка отправки
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/helpers/form.html#FormHelper::submittagIsInvalid()source public
tagIsInvalid( )
Возвращает false, если у данного поля формы, описанного текущей сущностью, нет ошибок. В противном случае возвращает сообщение об ошибке.
Возвращает
смешанный типЛибо false, когда нет ошибок, либо массив строк об ошибках. Строка об ошибке может быть пустой.
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/helpers/form.html#FormHelper::tagIsInvalidtextarea()source public
textarea( string $fieldName , array $options array() )
Создаёт виджет textarea.
Опции:
-
escape- Нужно ли экранировать содержимое textarea. По умолчанию true.
Параметры
- строка
$fieldName - Имя поля в формате "Модель.поле"
- массив
$optionsнеобязательно массив() - Массив HTML-атрибутов и специальных опций, описанных выше.
Возвращает
строкаСгенерированный элемент HTML-текстового поля ввода
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/helpers/form.html#FormHelper::textareaunlockField()source public
unlockField( string $name null )
Добавляет или получает список полей, которые в данный момент разблокированы. Разблокированные поля не включаются в хеш полей, используемый SecurityComponent. Разблокировка поля, после его добавления в список защищенных полей, удалит его из списка полей.
Параметры
- строка
$nameнеобязательно null - Имя поля, разделенное точкой.
Возвращает
смешанный типЛибо null, либо список полей.
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/helpers/form.html#FormHelper::unlockFieldyear()source public
year( string $fieldName , integer $minYear null , integer $maxYear null , array $attributes array() )
Возвращает элемент SELECT для годов
Атрибуты:
-
empty- Если true, отображается пустой элемент select. Если строка, эта строка отображается как пустой элемент. -
orderYear- Порядок значений года в элементах select. Возможные значения 'asc', 'desc'. По умолчанию 'desc' -
value- Выбранное значение поля ввода.
Параметры
- строка
$fieldName - Префикс имени для элемента SELECT
- целое число
$minYearнеобязательно null - Первый год в последовательности
- целое число
$maxYearнеобязательно null - Последний год в последовательности
- массив
$attributesнеобязательно массив() - Массив атрибутов для элементов select.
Возвращает
строкаЗавершенный элемент ввода select года
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/helpers/form.html#FormHelper::yearПодробное описание свойств
$_domIdSuffixessource
protected массив
Содержит уже используемые суффиксы ID DOM для предотвращения коллизий с несколькими элементами полей формы.
array()
$_inputDefaultssource
protected массив
Постоянные значения по умолчанию, используемые input(). Устанавливаются FormHelper::create().
array()
$_lastActionsource
protected строка
Значение атрибута action последней созданной формы. Используется для создания хешей, специфичных для формы/запроса, для SecurityComponent.
''
$_modelssource
protected массив
Содержит ссылки на модели, уже загруженные этим helper'ом, результат попытки их инспектирования из имён полей.
array()
$_optionssource
protected массив
Опции, используемые DateTime-полями
array(
'day' => array(), 'minute' => array(), 'hour' => array(),
'month' => array(), 'year' => array(), 'meridian' => array()
) $_unlockedFieldssource
protected массив
Массив имён полей, исключённых из хэша Token, используемого методом SecurityComponent's validatePost
См. также
FormHelper::_secure()SecurityComponent::validatePost()
array()
$requestTypesource
public строка
Определяет тип создаваемой формы. Устанавливается FormHelper::create().
null
$validationErrorssource
public массив
Содержит все ошибки валидации для загруженных и проверенных моделей; также может быть задан вручную для отображения пользовательских сообщений об ошибках в любом из полей ввода, сгенерированных этим помощником.
array()
Подробное описание магических свойств
$Htmlsource
public HtmlHelper
© 2005–2016 The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/2.9/class-FormHelper.html