有效的
编辑该页面警告:你浏览的文档欧宝官网下载appob娱乐下载Symfony 2.0,不再维护。
读这个页面的更新版本Symfob娱乐下载ony 6.2(当前的稳定版本)。
有效的
这个约束是用于启用验证对象嵌入对象上的属性被认可。这允许您验证对象和所有子对象相关联的。
基本用法
在下列的示例中,创建了两个类作者
和地址
这两个限制他们的属性。此外,作者
存储一个地址
实例的美元的地址
财产。
1 2 3 4 5 6 7 8
/ / src / Acme / / Address.php HelloBundle /实体名称空间Amce\HelloBundle\实体;类地址{受保护的美元街;受保护的美元zipCode;}
1 2 3 4 5 6 7 8 9
/ / src / Acme / / Author.php HelloBundle /实体名称空间Amce\HelloBundle\实体;类作者{受保护的美元firstName;受保护的美元姓;受保护的美元地址;}
- YAML
- 注释
- XML
- PHP
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
# src / Acme / HelloBundle /资源/ config / validation.ymlAcme \ HelloBundle \实体\地址:属性:街:- - - - - -NotBlank:~邮政编码:- - - - - -NotBlank:~- - - - - -最大长度:5Acme \ HelloBundle \实体\作者:属性:名字:- - - - - -NotBlank:~- - - - - -最小长度:4姓:- - - - - -NotBlank:~
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17日18 19 20 21日22日23日24日25日26日27 28 29 30 31 32 33 34 35 36 37
/ / src / Acme / / Address.php HelloBundle /实体名称空间Acme\HelloBundle\实体;使用ob娱乐下载\组件\验证器\约束作为断言;类地址{/ * * *@Assert\ NotBlank () * /受保护的美元街;/ * * *@Assert\ NotBlank *@Assert\最大长度(5)* /受保护的美元zipCode;}/ / src / Acme / / Author.php HelloBundle /实体名称空间Acme\HelloBundle\实体;类作者{/ * * *@Assert\ NotBlank *@Assert\最小长度(4)* /受保护的美元firstName;/ * * *@Assert\ NotBlank * /受保护的美元姓;受保护的美元地址;}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
< !- - - - - -- - - - - -src/Acme/HelloBundle/Resources/config/validation.xml -->< /span><类的名字=“Acme \ HelloBundle \实体\地址”><财产的名字=“街道”><约束的名字=“NotBlank”/ >< /财产><财产的名字=“zipCode”><约束的名字=“NotBlank”/ ><约束的名字=“最大长度”>5< /约束>< /财产>< /类><类的名字=“Acme \ HelloBundle \实体\作者”><财产的名字=“firstName”><约束的名字=“NotBlank”/ ><约束的名字=“最小长度”>4< /约束>< /财产><财产的名字=“姓”><约束的名字=“NotBlank”/ >< /财产>< /类>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17日18 19 20 21日22日23日24日25日26日27 28 29 30 31 32 33 34 35 36 37 38
/ / src / Acme / / Address.php HelloBundle /实体名称空间Acme\HelloBundle\实体;使用ob娱乐下载\组件\验证器\映射\ClassMetadata;使用ob娱乐下载\组件\验证器\约束作为断言;类地址{受保护的美元街;受保护的美元zipCode;公共静态函数loadValidatorMetadata(ClassMetadata美元元数据){美元元数据- >addPropertyConstraint (“街道”,新维护\ NotBlank ());美元元数据- >addPropertyConstraint (“zipCode”,新维护\ NotBlank ());美元元数据- >addPropertyConstraint (“zipCode”,新维护\最大长度(5));}}/ / src / Acme / / Author.php HelloBundle /实体名称空间Acme\HelloBundle\实体;使用ob娱乐下载\组件\验证器\映射\ClassMetadata;使用ob娱乐下载\组件\验证器\约束作为断言;类作者{受保护的美元firstName;受保护的美元姓;受保护的美元地址;公共静态函数loadValidatorMetadata(ClassMetadata美元元数据){美元元数据- >addPropertyConstraint (“firstName”,新维护\ NotBlank ());美元元数据- >addPropertyConstraint (“firstName”,新维护\最小长度(4));美元元数据- >addPropertyConstraint (“姓”,新维护\ NotBlank ());}}
这种映射,可以成功地验证一个作者和一个无效的地址。为了防止这种情况的出现,添加有效的
约束的美元的地址
财产。
- YAML
- 注释
- XML
- PHP
1 2 3 4 5
# src / Acme / HelloBundle /资源/ config / validation.ymlAcme \ HelloBundle \作者:属性:地址:- - - - - -有效:~
1 2 3 4 5 6 7 8 9 10 11 12
/ / src / Acme / / Author.php HelloBundle /实体名称空间Acme\HelloBundle\实体;使用ob娱乐下载\组件\验证器\约束作为断言;类作者{/ * * *@Assert有效\ * /受保护的美元地址;}
1 2 3 4 5 6
< !- - - - - -- - - - - -src/Acme/HelloBundle/Resources/config/validation.xml -->< /span><类的名字=“Acme \ HelloBundle \实体\作者”><财产的名字=“地址”><约束的名字=“有效的”/ >< /财产>< /类>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
/ / src / Acme / / Author.php HelloBundle /实体名称空间Acme\HelloBundle\实体;使用ob娱乐下载\组件\验证器\映射\ClassMetadata;使用ob娱乐下载\组件\验证器\约束作为断言;类作者{受保护的美元地址;公共静态函数loadValidatorMetadata(ClassMetadata美元元数据){美元元数据- >addPropertyConstraint (“地址”,新维护\有效());}}
如果你现在验证作者用一个无效的地址,你可以看到的验证地址
领域失败了。
AcmeHelloBundleAuthor.address。邮政编码:This value is too long. It should have 5 characters or less< /p>
这项工作,包括代码示例,许可下Creative Commons冲锋队3.0许可证。