Spec-Zone.ru › CakePHP 2.10

Класс FormHelper

Библиотека помощника для форм.

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

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

    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
    Выбирает значения для выборов 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
Имя поля модели для получения информации.

Возвращает

смешанный
Информация, извлеченная для специального ключа и поля в модели
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-кнопки.

Ссылка

https://book.cakephp.org/2.0/en/core-libraries/helpers/form.html#FormHelper::button

checkbox()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-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 Установите значения по умолчанию для 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-create
END_OF_DOCUMENT_MARKER

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

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

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

error()source public

error( string $field , string|array $text null , array $options array() )

Возвращает отформатированное сообщение об ошибке для данного поля формы, NULL, если ошибок нет.

Параметры:

  • escape boolean — Нужно ли экранировать содержимое сообщения об ошибке.
  • wrap mixed — Нужно ли обернуть сообщение об ошибке в 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::error

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

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

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

input()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-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, чтобы отключить легенду для сгенерированного набора ввода. Или передайте строку для настройки текста легенды.

Возвращает

строка
Готовые элементы ввода формы.

Ссылка

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

isFieldError()source public

isFieldError( string $field )

Возвращает true, если для данного поля есть ошибка, иначе false

Параметры

строка $field
Должно быть "Модель.поле"

Возвращает

булево
Если есть ошибки, этот метод возвращает true, иначе false.

Ссылка

https://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() )

Возвращает отформатированный элемент МЕТКИ для 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::label

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

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

month()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::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 кнопки.

Ссылка

https://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
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::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 для создания элемента ввода со значением '' в качестве первого варианта. Когда используется 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-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.

Ссылка

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

select()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-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.
  • Другие атрибуты будут назначены элементу ввода.

Опции

  • 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::submit

tagIsInvalid()source public

tagIsInvalid( )

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

Возвращает

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

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


Ссылка

https://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 необязательно array()
Массив HTML атрибутов и специальных опций выше.

Возвращает

строка
Созданный HTML элемент ввода текста

Ссылка

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

unlockField()source public

unlockField( string $name null )

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

Параметры

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

Возвращает

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

Ссылка

https://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 необязательно 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()
)
END_OF_DOCUMENT_MARKER

$_unlockedFieldssource

protected массив

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

См. также

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

$defaultModelsource

public строка

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

null

$fieldssource

public массив

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

array()

$helperssource

public массив

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

array('Html')

$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

Spec-Zone.ru

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