Symfonyob娱乐下载 5.1新增功能:可重用的约束集
2020年3月13日·发表的哈维尔Eguiluz
警告:这篇文章是关于一个不受支持的Symfony版本。ob娱乐下载有些信息可能已经过时了。阅读最新的Symfony文档ob娱乐下载。
在某些应用程序中,在多个地方重用同一组约束是很常见的。例如,考虑一个允许注册用户、更改密码、记住忘记的密码等的应用程序。该应用程序可能使用不同的dto对于每个特性,但所有特性都包含新用户密码,在所有情况下都必须以相同的方式进行验证。
在Syob娱乐下载mfony 5.1中,您可以快速创建一个重用其他约束的验证器,无论它们是内置的还是自定义的复合
约束:
12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
名称空间应用程序\验证器;使用ob娱乐下载\组件\验证器\约束\复合;使用ob娱乐下载\组件\验证器\约束\长度;使用ob娱乐下载\组件\验证器\约束\NotBlank;使用ob娱乐下载\组件\验证器\约束\NotCompromisedPassword;使用ob娱乐下载\组件\验证器\约束\类型;/ * * *@Annotation* /类MatchesPasswordRequirements扩展复合{受保护的函数getConstraints(数组$选项):数组{返回[新NotBlank (),新类型(“字符串”),新长度([“最小值”= >12]),新NotCompromisedPassword ()];}}
现在你可以像往常一样将这个约束应用到你的对象上:
12 3 4 5 6 7 8 9 10 11 12 13 14
名称空间应用程序\Dto;/ /……使用应用程序\验证器\MatchesPasswordRequirements;类ChangePasswordDto{/ * * *@MatchesPasswordRequirements* /私人$newPassword;/ /……}
按顺序验证约束
在Syob娱乐下载mfony 5.1中,我们还添加了一个不同但相关的特性,按顺序验证一组约束。这已经成为可能多亏了GroupSequence约束,但是在Symfony 5.1中,ob娱乐下载我们通过引入一个新的按顺序
约束。
的论证按顺序
约束是一个或多个约束的集合。ob娱乐下载Symfony将以相同的顺序应用它们,如果其中任何一个失败,它将停止,其余的约束将不会被测试。这有助于防止一些约束引发的意外类型异常和对慢速约束的不必要调用:
1 2 3 4 5 6 7 8 9 10 11
/ * * *@var字符串* *@Assert顺序\ ({*@Assert* \类型(“字符串”)@Assert\长度(min = " 4 ") *@Assert\ Regex(“[a - z]”)*@SomeCustomConstraintWithHeavyExternalCalls(), *}) */公共$someProperty;
发表在#生活在边缘
评论
克里斯蒂安·Ionascu
2020年3月13日说在十六
伟大的除了!
Prawee Wongsa
2020年3月16日说在12:07
爱死它了。
Sidi LEKHALIFA
2020年4月5日说在22:31
非常感谢
评论截止。
为了确保评论保持相关性,旧帖子将被关闭。
Maxime Steinhausser is a certified Symfony engineer.
Get certified! Online exams available in all countries.
Register Now