表达式
编辑本页警告:您正在浏览的文档欧宝官网下载appob娱乐下载Symfony 3.4,现已不再维护。
读本页的更新版本用于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
12 3 4 5 6 7 8 9 10 11 12 13 14 15
/ / src / AppBundle /模型/ BlogPost.php名称空间AppBundle\模型;使用ob娱乐下载\组件\验证器\约束作为断言;/ * * *@Assert\Expression(* "this. getcategory () in ['php', ob娱乐下载'symfony'] or !this. istechnicalpost ()", * message="如果这是一个技术帖子,类别应该是php或symfony!"*) */类博客{/ /……}
的表达式选项是表达式,必须返回true才能通过验证。有关表达式语言语法的详细信息,请参见表达式语法.
有关表达式和可用变量的详细信息,请参见表达式选项详情如下。
此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。