Класс FormHelper
Библиотека помощника для форм.
Автоматическое создание HTML-форм из заданных данных.
- AppHelper
-
FormHelper
Ссылка: https://book.cakephp.org/2.0/ru/core-libraries/helpers/form.html
Авторские права: Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org)
Лицензия: Лицензия MIT
Расположение: 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Выбирает значения для выборов dateTime.
- _divOptions() protectedГенерирует div опции для ввода
- _extractOption() protectedИзвлекает одну опцию из массива опций.
- _generateOptions() protectedГенерирует списки опций для общих меню
- _getDateTimeValue() protectedПарсит значение для выбранного значения datetime
- _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Вычисляет максимальную длину опции
- _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 для полной настройки datetime: день, месяц и год, а затем время.
- day() publicВозвращает элемент SELECT для дней.
- domIdSuffix() public
Генерирует допустимый суффикс ID DOM из строки. Также предотвращает коллизии, когда несколько значений преобразуются в один и тот же суффикс, добавляя числовое значение.
- end() public
Закрывает HTML форму, очищает значения, установленные FormHelper::create(), и записывает скрытые поля ввода, где это необходимо.
- error() publicВозвращает отформатированное сообщение об ошибке для данного поля FORM, NULL, если ошибок нет.
- file() publicСоздаёт виджет ввода файла.
- 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
Создаёт набор радио-виджетов. По умолчанию создаёт легенду и блок. Используйте $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 )
Генерирует метку для элемента ввода.
$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-кнопки.
Ссылка
https://book.cakephp.org/2.0/en/core-libraries/helpers/form.html#FormHelper::buttoncheckbox()source public
checkbox( string $fieldName , array $options array() )
Создаёт элемент ввода типа checkbox.
Опции:
-
value- значение чекбокса -
checked- логическое значение, указывает, что этот чекбокс выбран. -
hiddenField- логическое значение, указывает, нужно ли включать скрытый элемент ввода со значением ''. -
disabled- создать отключенный элемент. -
default- Установить значение по умолчанию для чекбокса. Это позволяет по умолчанию устанавливать чекбоксы как выбранные без необходимости проверки данных POST. Соответствующее значение POST перезапишет значение по умолчанию.
Параметры
- string
$fieldName - Имя поля, например "Modelname.fieldname"
- array
$optionsнеобязательно array() - Массив атрибутов HTML.
Возвращает
stringЭлемент ввода текста HTML.
Ссылка
https://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Установите значения по умолчанию для 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.
Ссылка
https://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, будут использоваться двузначные числа вместо текста. Если массив, будет использован указанный массив. -
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необязательно массив() - Массив атрибутов
Возвращает
строкаСгенерированный набор выпадающих списков для выбранных форматов даты и времени.
Ссылка
https://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необязательно массив() - Атрибуты HTML для элемента select
Возвращает
строкаСгенерированный выпадающий список дней.
Ссылка
https://book.cakephp.org/2.0/ru/core-libraries/helpers/form.html#FormHelper::daydomIdSuffix()source public
domIdSuffix( string $value , string $type 'html4' )
Генерирует допустимый суффикс ID DOM из строки. Также предотвращает коллизии, когда несколько значений преобразуются в один и тот же суффикс, добавляя числовое значение.
Только для идентификаторов до HTML5 допустимы символы a-z 0-9 - _ . HTML5 не имеет такого ограничения, но для предотвращения проблем с макетом по-прежнему фильтруются некоторые чувствительные символы.
Параметры
- строка
$value - Значение, которое должно быть преобразовано в суффикс ID DOM.
- строка
$typeнеобязательно 'html4' - Тип документа для использования. По умолчанию html4.
Возвращает
строкаИдентификатор DOM
end()source public
end( string|array $options null , array $secureAttributes array() )
Закрывает форму HTML, очищает значения, установленные FormHelper::create(), и записывает скрытые поля ввода, где это необходимо.
Если $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необязательно массив() будет передан в качестве атрибутов HTML в скрытые элементы ввода, сгенерированные для компонента Security.
Возвращает
строкаЗакрывающая тег FORM, необязательная кнопка отправки.
Ссылка
https://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() )
Возвращает отформатированное сообщение об ошибке для данного поля формы, NULL, если ошибок нет.
Параметры:
-
escapeboolean — Нужно ли экранировать содержимое сообщения об ошибке. -
wrapmixed — Нужно ли обернуть сообщение об ошибке в div. Если строка, она будет использована в качестве тега HTML. -
classстрока — Имя класса для сообщения об ошибке
Параметры
- строка
$field - Имя поля, например "Modelname.fieldname"
- строка|массив
$textнеобязательно null Сообщение об ошибке в виде строки или массива сообщений. Если массив содержит ключ
attributes, он будет использован в качестве параметров для контейнера сообщения об ошибке- массив
$optionsнеобязательно массив() -
Параметры рендеринга для
тега-контейнера
Возвращает
строка|nullЕсли есть ошибки, этот метод возвращает сообщение об ошибке, в противном случае null.
Ссылка
https://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необязательно массив() - Массив атрибутов HTML.
Возвращает
строкаСгенерированный элемент ввода файла.
Ссылка
https://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необязательно массив() - Массив атрибутов HTML.
Возвращает
строкаСгенерированный скрытый элемент ввода
Ссылка
https://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необязательно массив() - Список атрибутов HTML
Возвращает
строкаЗаполненный элемент выбора часов
Ссылка
https://book.cakephp.org/2.0/ru/core-libraries/helpers/form.html#FormHelper::hourinput()source public
input( string $fieldName , array $options array() )
Генерирует элемент ввода формы, включая метку и оборачивающий div
Параметры
Дополнительную информацию см. в каждом методе типа поля. Любые параметры, являющиеся частью $attributes или $options для различных методов type, могут быть включены в $options для input(). Кроме того, любые неизвестные ключи, которые не указаны в списке ниже или не входят в опции выбранного типа, будут обрабатываться как обычный атрибут html для сгенерированного элемента ввода.
-
type— Принудительно задает тип виджета. Например,type => 'select' -
label— Это либо текстовая метка, либо массив параметров для метки. См. FormHelper::label(). -
div— Это либоfalseдля отключения div, либо массив параметров для div. См. HtmlHelper::div() для получения дополнительных параметров. -
options— Для виджетов, принимающих параметры, например, radio, select. -
error— Управление сообщением об ошибке. Установите вfalseдля отключения любого типа сообщений об ошибках (ошибки поля и сообщения об ошибках). -
errorMessage— Логическое значение для управления отображением сообщений об ошибках (ошибка поля всё ещё будет происходить). -
empty— Строка или булево значение для включения пустых вариантов в выпадающем списке. -
before— Содержимое, которое следует поместить перед меткой + элементом ввода. -
after— Содержимое, которое следует поместить после метки + элемента ввода. -
between— Содержимое, которое следует поместить между меткой + элементом ввода. -
format— Шаблон форматирования порядка элементов. Любой элемент, который не находится в массиве, не будет отображаться в выводе. - Порядок форматирования по умолчанию для ввода: array('before', 'label', 'between', 'input', 'after', 'error')
- Порядок форматирования по умолчанию для флажков: array('before', 'input', 'between', 'label', 'after', 'error')
- Для скрытых элементов ввода форматирование не используется
- Для радиокнопок порядок элементов ввода и метки нельзя контролировать с помощью этих настроек.
Параметры
- строка
$fieldName - Должно быть "Модель.поле"
- массив
$optionsнеобязательно массив() - Каждый тип ввода использует разные параметры.
Возвращает
строкаГотовый виджет формы.
Ссылка
https://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, чтобы отключить легенду для сгенерированного набора ввода. Или передайте строку для настройки текста легенды.
Возвращает
строкаГотовые элементы ввода формы.
Ссылка
https://book.cakephp.org/2.0/ru/core-libraries/helpers/form.html#FormHelper::inputsisFieldError()source public
isFieldError( string $field )
Возвращает true, если для данного поля есть ошибка, иначе false
Параметры
- строка
$field - Должно быть "Модель.поле"
Возвращает
булевоЕсли есть ошибки, этот метод возвращает true, иначе false.
Ссылка
https://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() )
Возвращает отформатированный элемент МЕТКИ для 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 - Должно быть "Модель.поле"
- строка
$textнеобязательно null Текст, который будет отображаться в поле метки. Если $text не определен, текст будет получен из имени поля.
- массив|строка
$optionsнеобязательно массив() - Массив HTML-атрибутов или строка, используемая в качестве имени класса.
Возвращает
строкаОтформатированный элемент МЕТКИ
Ссылка
https://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, отображается пустой вариант выпадающего списка. Если строка, эта строка отображается как пустой элемент. -
valueВыбранное значение элемента ввода.
Параметры
- строка
$fieldName - Префикс имени для элемента SELECT
- массив
$attributesнеобязательно массив() - Массив атрибутов
Возвращает
строкаГотовый элемент выбора полудня/полуночи
Ссылка
https://book.cakephp.org/2.0/ru/core-libraries/helpers/form.html#FormHelper::meridianminute()source public
minute( string $fieldName , array $attributes array() )
Возвращает элемент SELECT для минут.
Атрибуты:
-
empty— Если true, отображается пустой вариант выпадающего списка. Если строка, эта строка отображается как пустой элемент. -
valueВыбранное значение элемента ввода.
Параметры
- строка
$fieldName - Префикс имени для элемента SELECT
- массив
$attributesнеобязательно массив() - Массив атрибутов
Возвращает
строкаГотовый элемент выбора минут.
Ссылка
https://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
Возвращает
строкаСгенерированный выпадающий список выбора месяца.
Ссылка
https://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 кнопки.
Ссылка
https://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 - Cake-относительный URL или массив параметров URL, или внешний URL (начинается с http://)
- массив
$optionsнеобязательно массив() - Массив HTML-атрибутов.
- boolean|строка
$confirmMessageнеобязательно false Сообщение подтверждения JavaScript. Этот аргумент устарел с версии 2.6. Используйте ключ
confirmв $options вместо него.
Возвращает
строкаЭлемент
<a />.Ссылка
https://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для создания элемента ввода со значением '' в качестве первого варианта. Когда используетсяtrue, метка радио-кнопки будет 'пустая'. Установите эту опцию в строку, чтобы управлять значением метки.
Параметры
- строка
$fieldName - Имя поля, например, "Modelname.fieldname"
- массив
$optionsнеобязательно массив() - Массив опций радио-кнопок.
- массив
$attributesнеобязательно массив() - Массив HTML-атрибутов и специальных атрибутов выше.
Возвращает
строкаЗавершенный набор виджетов радио-кнопок.
Ссылка
https://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.
Ссылка
https://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. Можно установить опцию с тем же именем, и её ключ будет использован как значение опции. -
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)); В то время как вложенный массив опций создаст optgroups с опциями внутри них.
$options = array(
1 => 'bill',
'fred' => array(
2 => 'fred',
3 => 'fred jr.'
)
);
$this->Form->select('Model.field', $options); В приведенном выше примере 2 => 'fred' не сгенерирует элемент option. Следует включить атрибут showParents для отображения опции fred.
Если у вас есть несколько опций, которым нужно иметь одинаковое значение атрибута, вы можете использовать массив массивов для этого:
$options = array(
array('name' => 'United states', 'value' => 'USA'),
array('name' => 'USA', 'value' => 'USA'),
); Параметры
- строка
$fieldName - Атрибут имени SELECT
- массив
$optionsнеобязательно array() Массив элементов OPTION (в виде пар 'значение'=>'Текст'), которые будут использоваться в элементе SELECT
- массив
$attributesнеобязательно array() - HTML атрибуты элемента select.
Возвращает
строкаОтформатированный элемент SELECT
Ссылка
https://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. - Другие атрибуты будут назначены элементу ввода.
Опции
-
div- Включить обертывающий div? По умолчанию true. Принимает подопции, похожие на FormHelper::input(). - Другие атрибуты будут назначены элементу ввода.
Параметры
- строка
$captionнеобязательно null Текст метки кнопки ИЛИ, если строка содержит :// или расширение .jpg, .jpe, .jpeg, .gif, .png, использовать изображение, если расширение существует, И первый символ /, изображение относительно webroot, ИЛИ если первый символ не /, изображение относительно webroot/img.
- массив
$optionsнеобязательно array() - Массив опций. См. выше.
Возвращает
строкаHTML кнопка отправки
Ссылка
https://book.cakephp.org/2.0/ru/core-libraries/helpers/form.html#FormHelper::submittagIsInvalid()source public
tagIsInvalid( )
Возвращает false, если у заданного поля формы, описанного текущей сущностью, нет ошибок. В противном случае возвращает сообщение об ошибке.
Возвращает
смешанный типЛибо false, когда нет ошибок, либо массив строк ошибок. Строка ошибки может быть пустой.
Ссылка
https://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необязательно array() - Массив HTML атрибутов и специальных опций выше.
Возвращает
строкаСозданный HTML элемент ввода текста
Ссылка
https://book.cakephp.org/2.0/ru/core-libraries/helpers/form.html#FormHelper::textareaunlockField()source public
unlockField( string $name null )
Добавляет или получает список полей, которые в настоящее время разблокированы. Разблокированные поля не включаются в хэш полей, используемый SecurityComponent. Разблокировка поля после добавления его в список защищённых полей удалит его из списка полей.
Параметры
- строка
$nameнеобязательно null - Имя поля через точку.
Возвращает
смешанный типЛибо null, либо список полей.
Ссылка
https://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необязательно array() - Массив атрибутов для элементов select.
Возвращает
строкаЗаполненный элемент ввода года
Ссылка
https://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 массив
Хранит ссылки на модели, уже загруженные этим помощником, результат попытки проверить их по именам полей.
array()
$_optionssource
protected массив
Опции, используемые DateTime полями.
array(
'day' => array(), 'minute' => array(), 'hour' => array(),
'month' => array(), 'year' => array(), 'meridian' => array()
) $_unlockedFieldssource
protected массив
Массив имён полей, исключённых из хэша маркеров, используемого методом validatePost компонента Security.
См. также
FormHelper::_secure()SecurityComponent::validatePost()
array()
$requestTypesource
public строка
Определяет тип создаваемой формы. Устанавливается методом FormHelper::create().
null
$validationErrorssource
public массив
Содержит все ошибки валидации загруженных и проверенных моделей. Также может быть задан вручную, чтобы отображать пользовательские сообщения об ошибках в любом из полей ввода, сгенерированных этим помощником.
array()
Подробное описание магических свойств
$Htmlsource
public HtmlHelper
© 2005–2017 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.10/class-FormHelper.html