字段类型
编辑本页警告:您正在浏览的文档欧宝官网下载appob娱乐下载Symfony 2.1,现已不再维护。
读本页的更新版本用于Syob娱乐下载mfony 6.2(当前稳定版本)。
字段类型
捕获时间输入的字段。
这可以呈现为一个文本字段、一系列文本字段(例如小时、分钟、秒)或一系列选择字段。底层数据可以存储为DateTime
对象、字符串、时间戳或数组。
基础数据类型 | 可以DateTime 、字符串、时间戳或数组(请参见输入 选项) |
呈现为 | 可以是各种标签(见下文) |
选项 | |
覆盖选项 | |
继承的选项 | |
父类型 | 形式 |
类 | TimeType |
基本用法
此字段类型是高度可配置的,但易于使用。最重要的选择是输入
而且小部件
.
假设你有一个开始时间
字段,其底层时间数据为DateTime
对象。下面配置时间
键入该字段为三个不同的选择字段:
1 2 3 4
$构建器->add (“开始时间”,“时间”,数组(“输入”= >“datetime”,“部件”= >“选择”));
的输入
选项必须更改为匹配基础日期数据的类型。例如,如果开始时间
Field的数据是Unix时间戳,您需要设置输入
来时间戳
:
1 2 3 4
$构建器->add (“开始时间”,“时间”,数组(“输入”= >“时间戳”,“部件”= >“选择”));
该字段还支持数组
而且字符串
作为有效的输入
选项值。
场的选择
小部件
类型:字符串
默认的:选择
该字段应呈现的基本方式。可以是以下之一:
选择
:呈现两个(或三个如果with_seconds为true)选择输入。文本
:呈现两个或三个文本输入(小时,分钟,秒)。single_text
:呈现单个文本类型的输入。用户的输入将根据表单进行验证hh: mm
(或hh: mm: ss
如果使用秒)。
输入
类型:字符串
默认的:datetime
的格式输入数据-即日期存储在基础对象上的格式。有效值为:
字符串
(如。12:17:26
)datetime
(一个DateTime
对象)数组
(如。阵列(= > 12“小时”,“分钟”= > 17日'第二' = > 26)
)时间戳
(如。1307232000
)
从表单返回的值也将被规范化为这种格式。
继承的选项
方法继承了这些选项场类型:
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)));
read_only
2.1
的read_only
选项在2.1中被更改为渲染为只读的
HTML属性。在此之前,它呈现为禁用
属性。使用禁用选项,如果您需要旧的行为。
类型:布尔
默认的:假
如果此选项为true,则该字段将使用只读的
属性,使字段不可编辑。
虚拟
类型:布尔
默认的:假
此选项决定是否将表单映射为数据。如果您需要一个表单来构造视图,这可能很有用。看到如何使用虚拟表单字段选项.
2.1
的error_mapping
选项是Symfony 2.1的新功ob娱乐下载能。
error_mapping
类型:数组
默认的:空
此选项允许您修改验证错误的目标。
假设您有一个名为matchingCityAndZipCode
这将验证城市和邮政编码是否匹配。不幸的是,没有“matchingCityAndZipCode”
字段,所以Symfony所能做的就是在表单的顶部显示错误。ob娱乐下载
使用自定义错误映射,你可以做得更好:将错误映射到城市字段,这样它就会显示在它上面:
1 2 3 4 5 6 7 8
公共函数setDefaultOptions(OptionsResolverInterface$解析器){$解析器->setDefaults (数组(“error_mapping”= >数组(“matchingCityAndZipCode”= >“城市”,),));}
下面是映射左侧和右侧的规则:
- 左侧包含属性路径。
- 如果冲突是在类的属性或方法上生成的,那么它的路径就是“propertyName”。
- 类的项上生成的违例
数组
或ArrayAccess
对象时,属性路径为(indexName)
. - 您可以通过连接它们来构造嵌套的属性路径,用圆点分隔属性。例如:
地址[工作].matchingCityAndZipCode
- 错误映射的左侧也接受一个点
.
,它指的是字段本身。这意味着添加到字段中的任何错误都会添加到给定的嵌套字段中。 - 右侧仅包含表单中字段的名称。