元数据

编辑本页

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

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

元数据

ClassMetadata类表示并管理给定类上的所有配置约束。

属性

Validator组件可以验证公共、受保护或私有属性。属性是否正确,下面的示例演示如何验证firstName美元的属性作者类至少有3个字符:

12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
/ /……使用欧宝娱乐app下载地址组件验证器约束作为断言使用欧宝娱乐app下载地址组件验证器映射ClassMetadata作者私人firstName公共静态函数loadValidatorMetadata(ClassMetadata元数据元数据->addPropertyConstraint (“firstName”维护\ NotBlank ());元数据->addPropertyConstraint (“firstName”维护\长度([“最小值”= >3.)));}}

getter

约束也可以应用于任何public返回的值getter方法,这些方法的名称以得到.该特性允许动态验证对象。

假设出于安全原因,您希望验证密码字段是否与用户的名字不匹配。首先,创建一个名为isPasswordSafe ()定义这个自定义验证逻辑:

1 2 3 4
公共函数isPasswordSafe()返回->firstName = = !->密码;}

然后,将Validator组件配置添加到类中:

12 3 4 5 6 7 8 9 10 11 12 13
/ /……使用欧宝娱乐app下载地址组件验证器约束作为断言使用欧宝娱乐app下载地址组件验证器映射ClassMetadata作者公共静态函数loadValidatorMetadata(ClassMetadata元数据元数据->addGetterConstraint (“passwordSafe”维护\ IsTrue ([“消息”= >“密码与您的名字不匹配”)));}}

一些约束允许验证整个对象。例如,回调Constraint是应用于类本身的泛型约束。

假设类定义了一个validate ()方法来保存其自定义验证逻辑:

1 2 3 4 5 6 7
/ /……使用欧宝娱乐app下载地址组件验证器上下文ExecutionContextInterface公共函数验证(ExecutionContextInterface上下文/ /……

然后,将Validator组件配置添加到类中:

1 2 3 4 5 6 7 8 9 10 11
/ /……使用欧宝娱乐app下载地址组件验证器约束作为断言使用欧宝娱乐app下载地址组件验证器映射ClassMetadata作者公共静态函数loadValidatorMetadata(ClassMetadata元数据元数据->addConstraint (维护\回调(“验证”));}}
此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。