Поле DateTimeType
Дата обновления перевода 2025-02-05
Поле DateTimeType
Этот тип поля позволяет пользователю изменять данные, которые представляют
конкретную дату и время (например, 1984-06-05 12:15:30
).
Может быть отображён как текстовый ввод или теги выбора. Основоположный формат
даты может быть объектом DateTime
, строкой, временной меткой или массивом.
?????????????? ??? ?????? | ????? ???? DateTime , ???????, ????????? ???????? ??? ???????? (??. ????? input ) |
???????????? ??? | ???? ????????? ???? ??? ???? ????? ?????? |
????????? ???????????? ?? ????????? | ??????????, ??????? ???????? ???? ? ?????. |
???????????? ??? | FormType |
????? | DateTimeType |
Дата обновления перевода 2025-02-21
Tip
Полный список опций, определенных и унаследованных этим типом формы, доступен путем
выполнения этой команды в вашем приложении:
1 2
# замените 'FooType' именем класса вашего типа формы
$ php bin/console debug:form FooType
Опции поля
Дата обновления перевода 2023-01-12
Эта опция определяет, должны ли быть переведены значения выбора, и в каком домене переводов.
Значения опции choice_translation_domain
могут быть: true
(повторно
использовать текущий домен переводов), false
(отключить перевод), null
(использует родительский домен переводов или домен по умолчанию) или строка,
которая представляет собой точный домен переводов для использования.
date_format
тип: integer
or string
по умолчанию: IntlDateFormatter::MEDIUM
Определяет опцию format
, которая будет передана полю даты. См.
опцию формата DateType , чтобы
узнать больше.
date_label
тип: string
| null
по умолчанию: Ярлык "угадывается" из имени поля
Устанавливает ярлык, который будет использован при отображении виджета даты. Установка
false
подавит ярлык:
1 2 3 4 5
use Symfony\Component\Form\Extension\Core\Type\DateTimeType;
$builder->add('startDateTime', DateTimeType::class, [
'date_label' => 'Starts On',
]);
date_widget
Дата обновления перевода 2024-07-26
тип: string
по умолчанию: choice
Основной способ, которым должно быть отображено это поле. Может быть одним из следующих:
choice
: отображает три ввода выбора. Порядок вариантов определяется опцией format.text
: отображает три поля ввода типаtext
(месяц, день, год).single_text
: отображает один ввод типаdate
. Пользовательский ввод валидируется, основываясь на опции format.
Дата обновления перевода 2025-02-24
days
тип: array
по умолчанию: от 1 до 31
Список дней, доступных в типе поля день. Эта опция применима только тогда
когда опция widget
установлена, как choice
:
1
'days' => range(1,31)
placeholder
тип: string
| array
Если ваша опция виджета установлена, как choice
, то это поле будет представлено
в виде ряда полей select
. Когда значение заполнителя является строкой, оно будет
использовано, как пустое значение всех полей выбора:
1 2 3 4 5
use Symfony\Component\Form\Extension\Core\Type\DateTimeType;
$builder->add('startDateTime', DateTimeType::class, array(
'placeholder' => 'Select a value',
));
Как вариант, вы можете использовать массив, который конфигурирует разные значения заполнителя для полей года, месяца, дня, часа, минуты и секунды:
1 2 3 4 5 6 7 8
use Symfony\Component\Form\Extension\Core\Type\DateTimeType;
$builder->add('startDateTime', DateTimeType::class, array(
'placeholder' => array(
'year' => 'Year', 'month' => 'Month', 'day' => 'Day',
'hour' => 'Hour', 'minute' => 'Minute', 'second' => 'Second',
)
));
format
тип: string
по умолчанию: Symfony
Если опция widget
установлена как single_text
, эта опция указывает формат ввода,
т.е., как Symfony интерпретирует заданный ввод в качестве строки datetime. По умолчанию
- формат datetime local, который используется полем HTML5 datetime-local
. Значение
по умолчанию приведет к отображению поля как поля input
с type="datetime-local"
.
Чтобы узнать больше о валидных форматах, см. Синтаксис формата Даты/Времени.
Дата обновления перевода 2025-02-24
hours
тип: array
по умолчанию: от 0 до 23
Список часов, доступных в типе поля часы. Эта опция применима только когда опция
widget
установлена, как choice
.
Дата обновления перевода 2025-02-24
html5
тип: boolean
по умолчанию: true
Если установлена, как true
(по умолчанию), то она будет использовать тип HTML5
(дату, время или datetime), чтобы отобразить поле. Если установлена, как false
,
то будет использован текстовый тип.
Это полезно,когда вы хотите использовать пользовательский выборщик данных JavaScript, который зачастую требует текстовый тип вместо типа HTML5.
input
тип: string
default: datetime
Формат данных ввода - т.е. формат, в котором хранится дата вашего основоположного объекта. Валидные значения:
string
(например,2011-06-05 12:15:00
)datetime
(объектDateTime
)datetime_immutable
(aDateTimeImmutable
object)array
(например,array(2011, 06, 05, 12, 15, 0)
)timestamp
(например,1307276100
)
Значение, которое возвращается из формы, также будет нормализовано обратно в этот формат.
Дата обновления перевода 2025-02-05
Warning
Если используется timestamp
, то DateType
ограничивается датами между
Пт, 13 декабря 1901 20:45:54 UTC и Вт, 19 января 2038 03:14:07 UTC на 32-битных
системах. Это связано с багом целочисленного переполнения в 32-разрядных системах,
известного как проблема 2038 года.
input_format
тип: string
по умолчанию: Y-m-d H:i:s
Дата обновления перевода 2023-01-12
Если опция input
установлена как string
, эта опция указывает формат
даты. Это должно быть валидным PHP-форматом даты.
Дата обновления перевода 2025-02-24
minutes
тип: array
по умолчанию: от 0 до 59
Список минут, доступных в типе поля минуты. Эта опция применима только тогда
когда опция widget
установлена, как choice
.
Дата обновления перевода 2024-07-26
model_timezone
тип: string
по умолчанию: часовой пояс системы по умолчанию
Часовой появ, в котором хранятся данные вода. Это должен быть один из часовых поясов, поддерживаемых PHP.
Дата обновления перевода 2025-02-24
months
тип: array
по умолчанию: от 1 до 12
Список месяцев, доступных типу поля месяц. Эта опция применима только когда опция
widget
установлена, как choice
.
Дата обновления перевода 2025-02-24
seconds
тип: array
по умолчанию: от 0 до 59
Список секунд, доступных в типе поля секунды. Эта опция применима только
когда опция widget
установлена, как choice
.
time_label
тип: string
| null
по умолчанию: Ярлык "угадывается" из имени поля
Устанавливает ярлык, который будет использован при отображении виджета времени. Установка
false
подавит поле:
1 2 3 4 5
use Symfony\Component\Form\Extension\Core\Type\DateTimeType;
$builder->add('startDateTime', DateTimeType::class, [
'time_label' => 'Starts On',
]);
time_widget
тип: string
по умолчанию: choice
Определяет опцию widget
для TimeType.
Дата обновления перевода 2025-02-22
view_timezone
тип: string
по умолчанию: часовой пояс системы по умолчанию
Часовой пояс для отображения данных пользователю (а следовательно и данных, которые отправляет пользователь). Это должен быть один из часовых поясов, поддерживаемых PHP.
widget
тип: string
по умолчанию: null
Определяет опцию widget
для DateType
и TimeType. Это можно переопределить с
опциями date_widget и time_widget.
Дата обновления перевода 2025-02-22
with_minutes
тип: boolean
по умолчанию: true
Включать ли минуты во ввод. Приведёт к дополнительному вводу для фиксации минут.
Дата обновления перевода 2025-02-22
with_seconds
тип: boolean
по умолчанию: false
Включать ли секундыы во ввод. Приведёт к дополнительному вводу для фиксации секунд.
Дата обновления перевода 2025-02-22
years
тип: array
по умолчанию: пять лет до или после текущего года
Список годов, доступных типу поля год. Эта опция применима только тогда, когда
опция widget
установлена, как choice
.
Переопределённые опции
by_reference
по умолчанию: false
Классы DateTime
рассматриваются, как неизменные объекты.
Дата обновления перевода 2025-02-22
compound
тип: boolean
по умолчанию: false
Эта опция указывает, содержит ли тип дочерние типы. Эта опция управляется внутренне для встроенных типов, так что нет необходимости конфигурировать её ясно.
Дата обновления перевода 2025-02-22
data_class
тип: string
по умолчанию: null
Внутреннее нормализованное представление этого типа - массив, а не объект \DateTime
.
Следовательско, опция data_class
инициализируется, как null
, чтобы избежать инициализации
объектом FormType
, как \DateTime
.
invalid_message
тип: string
по умолчанию: Это значение не валидно
Это сообщение ошибки валидации, которое используется, если данные, введенные в это поле, не имеют смысла (т.е. валидация проходит неудачно).
Это может случиться, к примеру, если пользователь вводит в поле
TimeType асбурдную строку, которая
не может быть конвертирована в настоящее время, или если пользователь вводит
строку (например, apple
) в числовое поле.
Нормальная (программный код) валидация (например, установка минимальной длины для поля), должна быть установлена с использованием сообщений валидации с вашими правилами валидации (справочник ).
Наследуемые опции
Эти опции наследуются из FormType:
Дата обновления перевода 2025-02-21
attr
тип: array
по умолчанию: []
Если вы хотите добавить дополнительные атрибуты к HTML представлению поля, то
вы можете использовать опцию attr
. Это ассоциативный массив с HTML-атрибутами
в качестве ключей. Этоможет быть полезно, когда вам нужно установить для некоторого
виджета пользовательский класс:
1 2 3
$builder->add('body', TextareaType::class, [
'attr' => ['class' => 'tinymce'],
]);
See also
Используйте опцию row_attr
, если вы хотите добавить эти атрибуты к
к элементу строки типа формы
Дата обновления перевода 2025-02-05
data
тип: mixed
по умолчанию : По умолчанию является полем основоположной структуры.
Когда вы создаёте форму, каждое поле изначально отображает значение соотствующего свойства данных домена формы (например, если вы привязываете объект к форме). Если вы хотите переопределить эти изначальные значения для формы или индивидуального поля, вы можете установить это в опции данных:
1 2 3 4 5 6
use Symfony\Component\Form\Extension\Core\Type\HiddenType;
// ...
$builder->add('token', HiddenType::class, array(
'data' => 'abcdef',
));
Warning
Опция data
всегда переопределяет значение, взятое из данных домена (объекта)
при отображении. Это означает, что значение объекта также переопределяется, когда
форма редактирует уже существующий сохранённый объект, что приводит к потере
сохранённого значения при отправке формы.
Дата обновления перевода 2025-02-24
disabled
тип: boolean
по умолчанию: false
Если вы не хотите, чтобы пользователь изменял значение поля, то вы можете установить опцию отключения, как "true". Любые отправленные данные будут проигнорированы.
Дата обновления перевода 2024-07-26
help
тип: string
или TranslatableInterface
по умолчанию: null
Позволяет вам определять сообщение помощи для поля формы, которое по умолчанию отображается под полем:
1 2 3 4 5 6 7 8 9 10 11 12 13
use Symfony\Component\Translation\TranslatableMessage;
$builder
->add('zipCode', null, [
'help' => 'The ZIP/Postal code for your credit card\'s billing address.',
])
// ...
->add('status', null, [
'help' => new TranslatableMessage('order.status', ['%order_id%' => $order->getId()], 'store'),
])
;
Дата обновления перевода 2025-02-24
help_attr
тип: array
по умолчанию: []
Устанавливает HTML-атрибуты для элемента, используемого для отображения сообщения помощи в поле формы. Его значение представляет собой ассоциативный массив с именами HTML-атрибутов в качестве ключей. Эти атрибуты также могут быть заданы в шаблоне:
1 2 3
{{ form_help(form.name, 'Your name', {
'help_attr': {'class': 'CUSTOM_LABEL_CLASS'}
}) }}
Дата обновления перевода 2025-02-24
help_html
тип: boolean
по умолчанию: false
По умолчанию содержание опции help
экранируется перед отображением в шаблоне.
Установите для этой опции значение true
, чтобы не экранировать их, что полезно,
когда справка содержит элементы HTML.
Дата обновления перевода 2025-02-05
inherit_data
тип: boolean
по умолчанию: false
Эта опция определяет, будет ли форма наследовать данные из родительской формы. Это может быть полезной, если у вас есть набор полей, которые повторяется в нескольких формах. См. Как уменьшить дублирование кода с помощью "inherit_data".
Warning
Когда поле имеет установленную опцию inherit_data
, оно использует данные
родительской формы так, как они есть. Это означает, что
Преобразователи Данных не будут применяться
к этому полю.
Дата обновления перевода 2025-02-24
invalid_message_parameters
тип: array
по умолчанию: []
При установке опции invalid_message
вам может понадобиться включить в строку
некоторые переменные. Это можно сделать, добавив заполнители в эту опцию,и включив
переменные в этой опции:
1 2 3 4
$builder->add('someField', SomeFormType::class, [
// ...
'invalid_message' => 'Вы ввели невалидное значение, оно должно содержать %num% букв',
'invalid_message_parameters' => ['%num%' => 6],
Дата обновления перевода 2025-02-24
mapped
тип: boolean
по умолчанию: true
Если вы хотите, чтобы поле было проигнорировано про чтении или записи в него
объекта, вы можете установить опцию mapped
, как false
.
Дата обновления перевода 2025-02-24
row_attr
тип: array
по умолчанию: []
Ассоциативный массив атрибутов HTML, добавляемых к элементу, который используется для отображения строки типа формы :
1 2 3
$builder->add('body', TextareaType::class, [
'row_attr' => ['class' => 'text-editor', 'id' => '...'],
]);
See also
Используйте опцию attr
, если вы хотите добавить эти атрибуты к
к элементу виджета типа формы .
Переменные поля
?????????? | ??? | ?????????? |
---|---|---|
widget | mixed |
???????? ????? widget. |
type | string |
????????????, ?????? ???? ?????? - single_text ? ??????????? HTML5,
???????? ??? ????? ??? ????????????? (datetime , date ??? time ). |