如何验证原始值(标量值和数组)

编辑本页

如何验证原始值(标量值和数组)

通常,您将验证整个对象。但有时,您希望验证一个简单的值—例如验证字符串是否是有效的电子邮件地址。从控制器内部看,它是这样的:

12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
/ /……使用ob娱乐下载组件验证器约束作为断言使用ob娱乐下载组件验证器验证器ValidatorInterface/ /……公共函数addEmail电子邮件, ValidatorInterface验证器emailConstraint维护\电子邮件();//所有约束"options"都可以这样设置emailConstraint->消息=“无效的电邮地址”//使用验证器来验证值错误验证器->validate (电子邮件emailConstraint);如果(!错误->count ()) {/ /……这是一个有效的电子邮件地址,做点什么其他的//这不是有效的电子邮件地址errorMessage错误0->getMessage ();/ /……对错误做些什么/ /……

通过调用validate ()在验证器上,可以传入一个原始值和要验证该值的约束对象。类中提供了可用约束的完整列表以及每个约束的完整类名约束参考部分。

数组的验证可以使用集合约束:

12 34 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
使用ob娱乐下载组件验证器约束作为断言使用ob娱乐下载组件验证器验证验证器=验证::createValidator ();输入= (“名字”= > [“first_name”= >“法”“last_name”= >“力量”),“电子邮件”= >“test.tld”“简单”= >“你好”“eye_color”= >3.“文件”= >“密码”= >“测试”“标签”=> [[“鼻涕虫”= >“ob娱乐下载symfony_doc”“标签”= >“ob娱乐下载symfony医生”,],],];维护\ GroupSequence ([“默认”“自定义”]);约束维护\集合([//这些键对应于输入数组中的键“名字”= >维护\集合([“first_name”= >维护\长度([“最小值”= >101]),“last_name”= >维护\长度([“最小值”= >1)))),“电子邮件”= >维护\电子邮件(),“简单”= >维护\长度([“最小值”= >102]),“eye_color”= >维护\选择([3.4]),“文件”= >维护\文件(),“密码”= >维护\长度([“最小值”= >60]),“标签”= >维护\可选([维护\类型(“数组”),维护\计数([“最小值”= >1]),维护所有([\维护\集合([“鼻涕虫”= > [维护\ NotBlank (),维护\类型([“类型”= >“字符串”),),“标签”= > [Assert\NotBlank(),],]),CustomUniqueTagValidator ([“组织”= >“自定义”]),]),]),]);违反验证器->validate (输入约束);

validate ()方法返回ConstraintViolationList对象,它的作用类似于错误数组。集合中的每个错误都是一个ConstraintViolation对象,该对象在其对象上保存错误消息getMessage ()方法。

请注意

属性使用组时集合约束,一定要使用可选约束,如其参考文档中所述。欧宝官网下载app

此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。
ob娱乐下载Symfony 6.2支持通过苏禄人
ob娱乐下载Symfony 6.2支持通过Les-Tilleuls.coop