2017-09-07 6 views
0

FileType 필드가 포함 된 양식이 있습니다. 사용자가 동시에 여러 파일을 업로드 할 수 있도록 multiple 옵션을 true으로 설정했습니다. 내가 앞에 중괄호를 추가여러 파일 업로드시 Symfony 유효성 확인

UnexpectedTypeException in FileValidator.php line 168: 
Expected argument of type "string", "array" given 

: 나는 양식을 제출하면

 /** 
    * @Assert\NotBlank() 
    * @Assert\File(mimeTypes = {"application/pdf", "application/x-pdf", "image/jpeg", "image/png"}) 
    * @ORM\Column(type="array") 
    */ 
    private $myFile; 

내가 오류를 얻을 : 여기

$builder->add('myFile', FileType::class, [ 
       'label' => 'upload file', 
       'multiple' => true, 
]) 

는 엔티티에 해당하는 속성이 양식에 연결되어 of File은 다음과 같이 표시합니다.

* @Assert\File{}(mimeTypes = {"application/pdf", "application/x-pdf", "image/jpeg", "image/png"}) 

이제 양식을 제출할 때 불평하지 않습니다. 파일 형식 유효성 검사도 확인되지 않습니다.

선택한 여러 파일에 대해 파일 형식을 설정하는 방법에 대한 아이디어가 있으십니까?

답변

0

File 배열의 유효성을 검사하고 있으므로 All 유효성 검사기를 적용해야합니다. 유효성 검사기는 배열의 각 요소에 내부 유효성 검사기를 적용합니다.

/** 
* @Assert\All({ 
*  @Assert\NotBlank() 
*  @Assert\File(mimeTypes = {"application/pdf", "application/x-pdf", "image/jpeg", "image/png"}) 
* }) 
* @ORM\Column(type="array") 
*/ 
private $myFile; 
: 같은과

시도