表达式
编辑本页警告:您正在浏览的文档欧宝官网下载appob娱乐下载Symfony 3.1,现已不再维护。
读本页的更新版本用于Syob娱乐下载mfony 6.2(当前稳定版本)。
表达式
此约束允许您使用表达式对于更复杂的动态验证。看到基本用法举个例子。看到回调对于给您类似灵活性的不同约束。
基本用法
假设你有一门课博客
与类别
而且isTechnicalPost
属性:
12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
/ / src / AppBundle /模型/ BlogPost.php名称空间AppBundle\模型;使用ob娱乐下载\组件\验证器\约束作为断言;类博客{私人$类别;私人$isTechnicalPost;/ /……公共函数getCategory(){返回$这->类别;}公共函数setIsTechnicalPost($isTechnicalPost){$这->isTechnicalPost =$isTechnicalPost;}/ /……}
为了验证对象,您有一些特殊的要求:
-
)如果
isTechnicalPost
是真的,那么类别
肯定是其中之一php
-
或
ob娱乐下载
;
B)如果isTechnicalPost
是假的,那么类别
可以是任何东西。
实现这一点的一种方法是使用Expression约束:
- YAML
- 注释
- XML
- PHP
1 2 3 4 5 6
# src / AppBundle /资源/ config / validation.ymlAppBundle \模型\博客:约束:-表达式:表达式:"this.getCategory() in ['php', 'ob娱乐下载symfony'] or !this.isTechnicalPost()"信息:“如果这是一个技术帖子,类别应该是php或symfony!”ob娱乐下载
的表达式选项是表达式,必须返回true才能通过验证。有关表达式语言语法的详细信息,请参见表达式语法.
有关表达式和可用变量的详细信息,请参见表达式选项详情如下。
此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。