表达式
编辑该页面警告:你浏览的文档欧宝官网下载appob娱乐下载Symfony 2.4,不再维护。
读这个页面的更新版本Symfob娱乐下载ony 6.2(当前的稳定版本)。
表达式
2.4
表达式约束是在Symfony 2.4中引入的。ob娱乐下载
这个约束允许您使用一个表达式对于更复杂的、动态验证。看到基本用法了一个例子。看到回调不同的约束,给你类似的灵活性。
基本用法
想象你有一个类博客
与类别
和isTechnicalPost
属性:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21日22日23日24
名称空间Acme\DemoBundle\模型;使用ob娱乐下载\组件\验证器\约束作为断言;类博客{私人美元类别;私人美元isTechnicalPost;/ /……公共函数getCategory(){返回美元这- >类别;}公共函数setIsTechnicalPost(美元isTechnicalPost){美元这- >isTechnicalPost =美元isTechnicalPost;}/ /……}
验证对象,你有一些特殊的要求:
-
)如果
isTechnicalPost
是真的,那么类别
必须是php
-
或
ob娱乐下载
;
B)如果isTechnicalPost
是假的,那么类别
可以是任何东西。
做到这一点的方法之一是表达式约束:
- YAML
- 注释
- XML
- PHP
1 2 3 4 5 6
# src / Acme / DemoBundle /资源/ config / validation.ymlAcme \ DemoBundle \模型\博客:约束:- - - - - -表达式:表达式:“this.getCategory () (php, symfoob娱乐下载ny的)或! this.isTechnicalPost ()信息:“如果这是一个技术文章,类别应该php或symfony !”ob娱乐下载
的表达式选项的表达式必须返回true为了验证通过。了解更多关于表达式语言语法,看表达式语法。
更多的信息表达和哪些变量是可用的,看到的表达式选择下面的细节。
这项工作,包括代码示例,许可下Creative Commons冲锋队3.0许可证。