验证器组件

编辑本页

警告:您正在浏览的文档欧宝体育电话欧宝娱乐app下载地址Symfony 5.3,现已不再维护。

本页的更新版本用于Sy欧宝娱乐app下载地址mfony 6.2(当前稳定版本)。

验证器组件

控件之后的值进行验证,Validator组件提供了一些工具JSR-303 Bean验证规范

安装

1
作曲家需要symfony/验证器欧宝娱乐app下载地址

请注意

如果在Symfony应用程序外部安装此组件,则必须要求欧宝娱乐app下载地址供应商/ autoload.php文件,以启用Composer提供的类自动加载机制。读这篇文章欲知详情。

使用

另请参阅

本文解释如何在任何PHP应用程序中使用Validator特性作为独立组件。读了验证文章,了解如何在Symfony应用程序中验证数据和实体。欧宝娱乐app下载地址

Validator组件的行为基于两个概念:

  • 约束,定义要验证的规则;
  • 验证器,它们是包含实际验证逻辑的类。

下面的例子显示了如何验证字符串长度至少为10个字符:

12 3 4 5 6 7 8 9 10 11 12 13 14 15 16
使用欧宝娱乐app下载地址组件验证器约束长度使用欧宝娱乐app下载地址组件验证器约束NotBlank使用欧宝娱乐app下载地址组件验证器验证验证器=验证::createValidator ();违反验证器->validate (“伯纳德”, (长度([“最小值”= >10]),NotBlank ()));如果0! = = count (违反)) {//有错误,现在你可以显示它们foreach违反作为违反) {回声违反->getMessage()。“< br >”;}}

validate ()方法将违规列表作为实现的对象返回ConstraintViolationListInterface.如果你有很多验证错误,你可以通过错误代码过滤它们:

1 2 3 4 5 6
使用欧宝娱乐app下载地址学说验证器约束UniqueEntity违反验证器->validate(…);如果0! = = count (违反->findByCodes (UniqueEntity::NOT_UNIQUE_ERROR))) {//处理这个特定的错误(显示一些消息,发送电子邮件等)

检索一个验证器实例

Validator对象(实现ValidatorInterface)是Validator组件的主要访问点。要创建它的新实例,建议使用验证类:

1 2 3
使用欧宝娱乐app下载地址组件验证器验证验证器=验证::createValidator ();

美元的验证器对象可以验证简单的变量,如字符串、数字和数组,但它不能验证对象。要做到这一点,请配置验证器这将在下一节中解释。

此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。
欧宝娱乐app下载地址Symfony 5.3支持通过JoliCode