验证器组件

编辑该页面

警告:你浏览的文档欧宝体育电话欧宝娱乐app下载地址Symfony 4.1,不再维护。

这个页面的更新版本Symf欧宝娱乐app下载地址ony 6.2(当前的稳定版本)。

验证器组件

验证器组件提供工具来验证后的值jsr - 303 Bean验证规范

安装

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

或者,您可以克隆的https://github.com/欧宝娱乐app下载地址symfony/validator存储库。

请注意

如果你安装这个组件之外的Symfony应用程序,你必须要求欧宝娱乐app下载地址供应商/ autoload.php文件在你的代码,使作曲家提供的类加载机制。读这篇文章为更多的细节。

使用

另请参阅

这篇文章解释了如何使用验证器功能作为一个独立的组件在任何PHP应用程序。读了验证篇文章中学习如何验证数据在Symfony应用程序和实体。欧宝娱乐app下载地址

验证器组件行为是基于两个概念:

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

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

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
使用欧宝娱乐app下载地址\组件\验证器\验证;使用欧宝娱乐app下载地址\组件\验证器\约束\长度;使用欧宝娱乐app下载地址\组件\验证器\约束\NotBlank;美元验证器=验证::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))) {/ /处理这种特定的错误(显示一些信息,发送电子邮件,等等)。}

检索一个验证器实例

验证器类是主要的验证器组件的访问点。这个类的创建一个新的实例,推荐使用验证类:

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

美元的验证器对象可以验证简单变量,如字符串、数字和数组,但它不能验证对象。为此,配置验证器类在下一节中解释。

这项工作,包括代码示例,许可下Creative Commons冲锋队3.0许可证。