字段类型

编辑本页

警告:您正在浏览的文档欧宝官网下载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

从表单返回的值也将被规范化为这种格式。

with_seconds

类型布尔默认的

是否在输入中包含秒。这将导致额外的输入以捕获秒数。

小时

类型数组默认的: 0 ~ 23

hours字段类型可用的小时列表。时,此选项才相关小部件选项设置为选择

分钟

类型数组默认的: 0 ~ 59

分钟字段类型可用的分钟列表。时,此选项才相关小部件选项设置为选择

类型数组默认的: 0 ~ 59

seconds字段类型可用的秒的列表。时,此选项才相关小部件选项设置为选择

data_timezone

类型字符串默认的:系统默认时区

输入数据存储的时区。这一定是其中之一PHP支持的时区

user_timezone

类型字符串默认的:系统默认时区

时区,用于如何向用户显示数据(因此也包括用户提交的数据)。这一定是其中之一PHP支持的时区

覆盖选项

by_reference

默认的

DateTime类被视为不可变对象。

error_bubbling

默认的

继承的选项

方法继承了这些选项类型:

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

禁用选项是2.1版的新功能

类型布尔默认的

如果您不希望用户修改字段的值,您可以设置
disabled选项为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
  • 错误映射的左侧也接受一个点,它指的是字段本身。这意味着添加到字段中的任何错误都会添加到给定的嵌套字段中。
  • 右侧仅包含表单中字段的名称。
此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。