字段类型
编辑本页警告:您正在浏览的文档欧宝官网下载appob娱乐下载Symfony 2.4,现已不再维护。
读本页的更新版本用于Syob娱乐下载mfony 6.2(当前稳定版本)。
字段类型
一个日期专门处理出生日期数据的字段。
可以呈现为单个文本框、三个文本框(月、日和年)或三个选择框。
该类型本质上与日期类型,但是使用更合适的默认值年选择。的年期权默认为120年前到当年。
基础数据类型 | 可以DateTime ,字符串 ,时间戳 ,或数组 (见输入选项) |
呈现为 | 可以是三个选择框或1个或3个文本框,基于小部件选项 |
覆盖选项 | |
继承的选项 | 从日期类型:天-empty_value-格式-输入-model_timezone-个月-view_timezone-小部件从形式类型:数据-禁用-inherit_data-invalid_message-invalid_message_parameters-映射-read_only |
父类型 | 日期 |
类 | BirthdayType |
继承的选项
方法继承了这些选项日期类型:
empty_value
2.3
从Symfoob娱乐下载ny 2.3开始,如果扩大
选项设置为true。
类型:字符串
或布尔
这个选项决定了一个特殊的“空”选项(例如:“选择一个选项”)将出现在选择小部件的顶部。此选项仅适用于多个
选项设置为false。
添加一个空值,文本为“Choose an option”:
1 2 3
$构建器->add (“州”,“选择”,数组(“empty_value”= >“选择一个选项”));
确保没有“空”值选项显示:
1 2 3
$构建器->add (“州”,“选择”,数组(“empty_value”= >假));
如果你离开empty_value
选项未设置时,则当且仅当要求
选项为false:
1 2 3 4
//添加一个空白(无文本)选项$构建器->add (“州”,“选择”,数组(“要求”= >假));
格式
类型:整数
或字符串
默认的:IntlDateFormatter::中等(或yyyy-MM-dd
如果小部件是single_text
)
选项传递给IntlDateFormatter
类,用于将用户输入转换为适当的格式。这是至关重要的小部件选项设置为single_text
,并定义用户如何输入数据。默认情况下,格式是根据当前用户地区确定的:这意味着不同的用户期望的格式也不同.您可以通过将格式作为字符串传递来覆盖它。
有关有效格式的详细信息,请参见日期/时间格式语法:
1 2 3 4 5
$构建器->add (“date_created”,“日期”,数组(“部件”= >“single_text”,这实际上是single_text的默认格式“格式”= >“yyyy-MM-dd”));
请注意
如果你想让你的字段呈现为HTML5“date”字段,你必须使用single_text
窗口小部件具有yyyy-MM-dd
格式(RFC 3339格式),如果您使用single_text
小部件。
输入
类型:字符串
默认的:datetime
的格式输入数据-即日期存储在基础对象上的格式。有效值为:
字符串
(如。2011-06-05
)datetime
(一个DateTime
对象)数组
(如。数组('year' => 2011, 'month' => 06, 'day' => 05)
)时间戳
(如。1307232000
)
从表单返回的值也将被规范化为这种格式。
谨慎
如果时间戳
使用,DateType
在32位系统上仅限于1901年12月13日星期五20:45:54 GMT和2038年1月19日星期二03:14:07 GMT之间的日期。这是由于PHP本身的局限性.
数据
类型:混合默认的:默认为基础对象的字段(如果有的话)
创建表单时,每个字段最初显示表单域对象的相应属性的值(如果对象绑定到表单)。如果你想覆盖表单的初始值或只是一个单独的字段,你可以在data选项中设置它:
1 2 3
$构建器->add (“令牌”,“隐藏”,数组(“数据”= >“六边形abcdef”));
请注意
表单字段的默认值直接取自
底层数据结构(例如实体或数组)。
的数据
选项将覆盖此默认值。
inherit_data
2.3
的inherit_data
选项在Symfony 2.3中引入。ob娱乐下载以前,它被称为虚拟
.
类型:布尔
默认的:假
此选项决定表单是否从其父表单继承数据。如果您有一组跨多个表单重复的字段,这可能很有用。看到如何使用"inherit_data"减少代码重复.
invalid_message
类型:字符串
默认的:此值无效
这是验证错误消息,如果输入到该字段的数据没有意义(即验证失败),将使用该消息。
例如,如果用户将无意义的字符串输入到时间字段不能转换为实时的,或者如果用户输入字符串(例如。苹果
)转换为数字字段。
正常(业务逻辑)验证(例如在设置字段的最小长度时)应该使用验证消息和验证规则(参考).
invalid_message_parameters
类型:数组
默认的:数组()
当设置invalid_message
选项时,您可能需要在字符串中包含一些变量。这可以通过在该选项中添加占位符并包括该选项中的变量来实现:
1 2 3 4 5
$构建器->add (“some_field”,“some_type”,数组(/ /……“invalid_message”= >'您输入的值无效-它应该包含%num%字母',“invalid_message_parameters”= >数组(“% num %”= >6)));