Php 允许数组形式验证symfony
我想验证该类时出错Php 允许数组形式验证symfony,php,forms,symfony,validation,yaml,Php,Forms,Symfony,Validation,Yaml,我想验证该类时出错 /** * @SWG\Property( * type="string", * description="The customer's uuid", * example="ffs-cse48q4s-csvdf-5sd" * ) */ public $guidCustomer; /** * @SWG\
/**
* @SWG\Property(
* type="string",
* description="The customer's uuid",
* example="ffs-cse48q4s-csvdf-5sd"
* )
*/
public $guidCustomer;
/**
* @SWG\Property(
* type="array",
* description="",
* @SWG\Items(
* @SWG\Property(property="guid_invitation", type="string", example="ferfrd7"
......................
* )
* )
*/
public $invitations;
我正在使用一个来自命令的动态表单生成系统。我希望对邀请字段进行验证,该字段是一个php数组,我不知道该放什么,在我尝试使用的文档中找不到它,我总是出现以下错误:
{
"message": "validation.failed",
"errors": [
{
"field": "invitations",
"message": "This value is not valid."
}
]
}
这取决于邀请数组内容 例如,如果您有一个组成数组的邀请实体(甚至是一个简单的类),请将断言放在每个字段上,然后在邀请字段上使用“Valid”assert() 但是,我们需要关于数组内容的更多信息,但是您可以在邀请上放置All assert(),并添加自定义约束
如果您没有邀请子类,我会选择邀请子类,它不需要是一个实体。如果它不是问题的答案,请不要将其作为答案发布
{
"message": "validation.failed",
"errors": [
{
"field": "invitations",
"message": "This value is not valid."
}
]
}
/**
* @SWG\Property(
* type="array",
* description="The customer's invitations",
* @SWG\Items(
* @SWG\Property(property="validity", type="integer", example=30),
* @SWG\Property(property="guid_invitation", type="string", example="ferfrd7-fr78d-dsfhbju-58az"),
* @SWG\Property(property="manager_reference", type="integer", example=2),
* @SWG\Property(property="last_name", type="string", example="Sting"),
* @SWG\Property(property="first_name", type="string", example="Bob"),
* @SWG\Property(property="phone", type="string", example="0681694512"),
* @SWG\Property(property="email", type="string", example="owner@octime.com"),
* @SWG\Property(property="entities_ids", type="string", example="2;28;14"),
* @SWG\Property(property="entities_names", type="string", example="France;Région PACA;Usine Marseille;Administation"),
* @SWG\Property(property="professions_ids", type="string", example="14;45;12"),
* @SWG\Property(property="professions_names", type="string", example="AIDE COMPTABLE;Responsable Paye et administration du personnel;Administation"),
* )
* )
* @Assert\Collection(
* fields={
* "validity" = @Assert\Required({@Assert\NotBlank}),
* "guid_invitation" = @Assert\Required({@Assert\NotBlank}),
* "manager_reference" = @Assert\Required({@Assert\NotBlank}),
* "last_name" = @Assert\Required({@Assert\NotBlank}),
* "first_name" = @Assert\Required({@Assert\NotBlank}),
* "phone" = @Assert\Required({@Assert\NotBlank}),
* "email" = @Assert\Required({@Assert\NotBlank}),
* "entities_ids" = @Assert\Required({@Assert\NotBlank}),
* "entities_names" = @Assert\Required({@Assert\NotBlank}),
* "professions_ids" = @Assert\Required({@Assert\NotBlank}),
* "professions_names" = @Assert\Required({@Assert\NotBlank}),
* }
* )
*/
public $invitations = [
'validity' => 30,
'guid_invitation' => 'ferfrd7-fr78d-dsfhbju-58az',
'manager_reference' => 2,
'last_name' => "Sting",
'first_name' => "Bob",
'phone' => "0681694512",
'email' => "owner@octime.com",
'entities_ids' => "2;28;14",
'entities_names' => "France;Région PACA;Usine Marseille;Administation",
'professions_ids' => "14;45;12",
'professions_names' => "AIDE COMPTABLE;Responsable Paye et administration du personnel;Administation",
] ;