元数据

编辑该页面

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

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

元数据

ClassMetadata类代表和管理所有给定类配置的限制。

属性

验证器组件可以验证,保护或私有属性。下面的例子显示了如何验证firstName美元财产的作者类有至少3个字符:

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

getter

约束也可以应用于任何公开所返回的值getter方法,方法的名字开始得到,。这个特性允许动态验证对象。

假设,出于安全原因,你想验证一个密码字段不匹配用户的名字。首先,创建一个公共方法isPasswordSafe ()定义这个自定义验证逻辑:

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

然后,添加验证器组件配置类:

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

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

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