Spec-Zone.ru › CakePHP 2.9

Класс FormHelper

Библиотека для работы с формами.

Автоматическое создание HTML-форм на основе заданных данных.

AppHelper
Extended by FormHelper
Пакет: Cake\View\Helper
Ссылка: 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

    SECURE_SKIP
    'skip'

Краткое описание свойств

  • $_domIdSuffixes protected
    array
    Содержит уже использованные суффиксы ID DOM для предотвращения коллизий с несколькими элементами формы.
  • $_inputDefaults protected
    array
    Постоянные значения по умолчанию, используемые методом input(). Устанавливается методом FormHelper::create().
  • $_lastAction protected
    string

    Значение атрибута action последней созданной формы. Используется для создания специфичных для формы/запроса хешей для SecurityComponent.

  • $_models protected
    array

    Содержит ссылки на модели, загруженные этим помощником в результате попытки их проверки по именам полей

  • $_options protected
    array
    Параметры, используемые для полей DateTime
  • $_unlockedFields protected
    array

    Массив имён полей, исключённых из хеша Token, используемого методом validatePost компонента SecurityComponent

  • $defaultModel public
    string
    Модель по умолчанию, используемая для текущей формы.
  • $fields public
    array
    Список созданных полей, используется с защищенными формами.
  • $helpers public
    array
    Другие помощники, используемые FormHelper
  • $requestType public
    string
    Определяет тип создаваемой формы. Устанавливается методом FormHelper::create().
  • $validationErrors public
    array

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

Краткое описание магических свойств

  • $Html public
    HtmlHelper

Краткое описание методов

  • __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
Имя поля модели для получения информации

Возвращает

смешанное
Извлеченная информация для специального ключа и поля в модели
END_OF_DOCUMENT_MARKER

_isRequiredField()source protected

_isRequiredField( CakeValidationSet $validationRules )

Возвращает, является ли поле обязательным для заполнения на основе свойств валидации из объекта валидации.

Параметры

CakeValidationSet $validationRules
Набор правил валидации.

Возвращает

boolean
true, если поле обязательно для заполнения, 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.

Возвращает

array

button()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::button

checkbox()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-inputs

create()source public

create( mixed|null $model null , array $options array() )

Возвращает элемент HTML FORM.

Параметры:

  • type Метод формы по умолчанию POST
  • action Действие контроллера, в который отправляется форма (необязательно). Устарело с версии 2.8, используйте url.
  • url URL, в который отправляется форма. Может быть строкой или массивом 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-create
END_OF_DOCUMENT_MARKER

dateTime()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::dateTime

day()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::day

domIdSuffix()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-form

error()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::error

file()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::file

hidden()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::hidden

hour()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::hour

input()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-elements

inputDefaults()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::inputs

isFieldError()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::isFieldError

label()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::label

meridian()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::meridian

minute()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::minute

month()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::month

postButton()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::postButton

postLink()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::postLink

radio()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-inputs

secure()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::secure
END_OF_DOCUMENT_MARKER

select()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-inputs

submit()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::submit

tagIsInvalid()source public

tagIsInvalid( )

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

Возвращает

смешанный тип

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


Ссылка

http://book.cakephp.org/2.0/ru/core-libraries/helpers/form.html#FormHelper::tagIsInvalid

textarea()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::textarea

unlockField()source public

unlockField( string $name null )

Добавляет или получает список полей, которые в данный момент разблокированы. Разблокированные поля не включаются в хеш полей, используемый SecurityComponent. Разблокировка поля, после его добавления в список защищенных полей, удалит его из списка полей.

Параметры

строка $name необязательно null
Имя поля, разделенное точкой.

Возвращает

смешанный тип
Либо null, либо список полей.

Ссылка

http://book.cakephp.org/2.0/ru/core-libraries/helpers/form.html#FormHelper::unlockField

year()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()
)
END_OF_DOCUMENT_MARKER

$_unlockedFieldssource

protected массив

Массив имён полей, исключённых из хэша Token, используемого методом SecurityComponent's validatePost

См. также

FormHelper::_secure()
SecurityComponent::validatePost()
array()

$defaultModelsource

public строка

Модель по умолчанию, используемая для текущей формы.

null

$fieldssource

public массив

Список созданных полей, используемых в защищённых формах.

array()

$helperssource

public массив

Другие помощники, используемые FormHelper

array('Html')

$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

Spec-Zone.ru

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