TimeType领域
编辑本页警告:您正在浏览的文档欧宝官网下载appob娱乐下载Symfony 2.8,现已不再维护。
读本页的更新版本用于Syob娱乐下载mfony 6.2(当前稳定版本)。
TimeType领域
捕获时间输入的字段。
这可以呈现为一个文本字段、一系列文本字段(例如小时、分钟、秒)或一系列选择字段。底层数据可以存储为DateTime
对象、字符串、时间戳或数组。
基础数据类型 | 可以DateTime 、字符串、时间戳或数组(请参见输入 选项) |
呈现为 | 可以是各种标签(见下文) |
选项 | |
覆盖选项 | |
继承的选项 | |
父类型 | FormType |
类 | TimeType |
基本用法
此字段类型是高度可配置的,但易于使用。最重要的选择是输入
而且小部件
.
假设你有一个开始时间
字段,其底层时间数据为DateTime
对象。下面配置TimeType
这个领域是两个不同的选择领域
1 2 3 4 5 6 7
使用ob娱乐下载\组件\形式\扩展\核心\类型\TimeType;/ /……$构建器->add (“开始时间”, TimeType::类,数组(“输入”= >“datetime”,“部件”= >“选择”));
的输入
选项必须更改为匹配基础日期数据的类型。例如,如果开始时间
Field的数据是Unix时间戳,您需要设置输入
来时间戳
:
1 2 3 4 5 6 7
使用ob娱乐下载\组件\形式\扩展\核心\类型\TimeType;/ /……$构建器->add (“开始时间”, TimeType::类,数组(“输入”= >“时间戳”,“部件”= >“选择”));
该字段还支持数组
而且字符串
作为有效的输入
选项值。
场的选择
choice_translation_domain
2.8
的choice_translation_domain
选项在Symfony 2.8中引入。ob娱乐下载
类型:字符串
,布尔
或零
此选项决定是否应该翻译所选值以及在哪个翻译域中翻译。
的值choice_translation_domain
选项可以是真正的
(重用当前翻译域),假
(禁用翻译),零
(使用父翻译域或默认域)或表示要使用的确切翻译域的字符串。
占位符
2.6
的占位符
选项是在Symfony 2.6中引入并替换的ob娱乐下载empty_value
,在2.6之前可用。
类型:字符串
|数组
如果小部件选项设置为选择
,则该字段将表示为一系列的选择
盒子。当占位符值为字符串时,它将被用作空白值在所有选择框中:
1 2 3
$构建器->add (“开始时间”,“时间”,数组(“占位符”= >“选择一个值”));
或者,你可以使用一个数组为小时、分钟和秒字段配置不同的占位符值:
1 2 3 4 5
$构建器->add (“开始时间”,“时间”,数组(“占位符”= >数组(“小时”= >“小时”,“一分钟”= >“一分钟”,“第二”= >“第二”,)));
html5
类型:布尔
默认的:真正的
如果设置为真正的
(默认),它将使用HTML5类型(日期,时间或datetime)来呈现字段。当设置为假
,它将使用文本类型。
当您想要使用自定义JavaScript datepicker(通常需要文本类型而不是HTML5类型)时,这很有用。
输入
类型:字符串
默认的:datetime
的格式输入数据-即日期存储在基础对象上的格式。有效值为:
字符串
(如。12:17:26
)datetime
(一个DateTime
对象)数组
(如。阵列(= > 12“小时”,“分钟”= > 17日'第二' = > 26)
)时间戳
(如。1307232000
)
从表单返回的值也将被规范化为这种格式。
小部件
类型:字符串
默认的:选择
该字段应呈现的基本方式。可以是以下之一:
选择
:呈现一个、两个(默认)或三个选择输入(小时、分钟、秒),这取决于with_minutes而且with_seconds选项。文本
:呈现一个、两个(默认)或三个文本输入(小时、分钟、秒),具体取决于with_minutes而且with_seconds选项。single_text
:呈现一个类型的输入时间
.用户的输入将根据表单进行验证hh: mm
(或hh: mm: ss
如果使用秒)。
谨慎
组合小部件类型single_text
和with_minutes选项设置为假
输入类型会导致客户端出现意外行为吗时间
可能不支持只选择一个小时。
覆盖选项
data_class
类型:字符串
默认的:零
该类型的内部规范化表示是数组,而不是数组\ DateTime
对象。因此,data_class
选项初始化为零
为了避免FormType
对象的初始化\ DateTime
.
error_bubbling
默认的:假
继承的选项
方法继承了这些选项FormType:
数据
类型:混合
默认的:默认为底层结构的字段。
当你创建一个表单时,每个字段最初都会显示表单域数据的对应属性的值(例如,如果你将一个对象绑定到表单)。如果你想覆盖表单或单个字段的初始值,你可以在data选项中设置它:
1 2 3 4 5 6
使用ob娱乐下载\组件\形式\扩展\核心\类型\HiddenType;/ /……$构建器->add (“令牌”, HiddenType::类,数组(“数据”= >“六边形abcdef”));
谨慎
的数据
选项总是在呈现时覆盖从域数据(对象)获取的值。这意味着当表单编辑一个已经持久化的对象时,对象值也会被覆盖,从而导致在表单提交时失去它的持久化值。
error_mapping
类型:数组
默认的:数组()
此选项允许您修改验证错误的目标。
假设您有一个名为matchingCityAndZipCode ()
这将验证城市和邮政编码是否匹配。不幸的是,您的表单中没有“matchingCityAndZipCode”字段,因此Symfony所能做的就是在表单顶部显示错误。ob娱乐下载
使用自定义错误映射,你可以做得更好:将错误映射到城市字段,这样它就会显示在它上面:
1 2 3 4 5 6 7 8
公共函数configureOptions(OptionsResolver$解析器){$解析器->setDefaults (数组(“error_mapping”= >数组(“matchingCityAndZipCode”= >“城市”,),));}
下面是映射左侧和右侧的规则:
- 左侧包含属性路径;
- 如果违反是在类的属性或方法上生成的,则其路径简单
propertyName
; - 类的项上生成的违例
数组
或ArrayAccess
对象时,属性路径为(indexName)
; - 您可以通过连接它们来构造嵌套的属性路径,用圆点分隔属性。例如:
地址[工作].matchingCityAndZipCode
; - 右侧仅包含表单中字段的名称。
默认情况下,任何未映射的属性的错误都会冒泡到父表单。你可以用点(.
),将所有未映射属性的错误映射到特定字段。例如,将所有这些错误映射到城市
字段中,使用:
1 2 3 4 5
$解析器->setDefaults (数组(“error_mapping”= >数组(“。”= >“城市”,),));
inherit_data
2.3
的inherit_data
选项在Symfony 2.3中引入。ob娱乐下载以前,它被称为虚拟
.
类型:布尔
默认的:假
此选项决定表单是否从其父表单继承数据。如果您有一组跨多个表单重复的字段,这可能很有用。看到如何使用"inherit_data"减少代码重复.
谨慎
字段具有inherit_data
选项集时,它按原样使用父表单的数据。这意味着数据变形金刚不会被应用到那个领域。
invalid_message
类型:字符串
默认的:此值无效
这是验证错误消息,如果输入到该字段的数据没有意义(即验证失败),将使用该消息。
例如,如果用户将无意义的字符串输入到TimeType字段不能转换为实时的,或者如果用户输入字符串(例如。苹果
)转换为数字字段。
正常(业务逻辑)验证(例如在设置字段的最小长度时)应该使用验证消息和验证规则(参考).
invalid_message_parameters
类型:数组
默认的:数组()
当设置invalid_message
选项时,您可能需要在字符串中包含一些变量。这可以通过在该选项中添加占位符并包括该选项中的变量来实现:
1 2 3 4 5
$构建器->add (“some_field”, SomeFormType::类,数组(/ /……“invalid_message”= >'您输入的值无效,它应该包含%num%字母',“invalid_message_parameters”= >数组(“% num %”= >6)));
read_only
谨慎
的read_only
选项已弃用,将在3.0移除。相反,使用attr
选项,将其设置为带有只读的
关键。
类型:布尔
默认的:假
如果此选项为true,则该字段将使用只读的
属性,使字段不可编辑。
表单变量
变量 | 类型 | 使用 |
---|---|---|
小部件 | 混合 |
的值小部件选择。 |
with_minutes | 布尔 |
的值with_minutes选择。 |
with_seconds | 布尔 |
的值with_seconds选择。 |
类型 | 字符串 |
仅当小部件为时才出现single_text 并且HTML5被激活,包含要使用的输入类型(datetime ,日期 或时间 ). |