우분투에서 Symfony 1.3.2를 사용하고 있으며 여러 위젯이 포함 된 양식이 있습니다. 하나의 위젯은 사용자가 그림을 선택할 수있게 해주는 sfWidgetFormInputFile입니다.Symfony forms - 이전에 선택한 파일 기억하기
양식이 유효하지 않은 경우 오류 필드를 수정하기 위해 양식을 다시 사용자에게 제시합니다.
내가 겪고있는 문제는 현재 foem이 (어떤 이유로 든) 유효성을 검사하지 못하면 사용자가 지정한 그림 파일이 손실된다는 것입니다. 즉 파일을 다시 선택해야합니다.
어떻게하면 선택한 그림 파일이 그대로 남아있어서 양식을 사용자에게 다시 표시 할 수 있습니까? (파일을 다시 선택하지 않아도 됨)?
POST 된 양식을 처리하는 작업에서 getFiles ($ key)를 호출 한 다음 검색된 배열의 색인을 생성하여 파일 정보를 가져오고 위젯의 기본값을 설정합니다 (아래 참조). 그러나, 렌더링 위젯이 비어 (이전에 선택한 파일의 경로 이름의 값을 유지하지 않는
을 내 (행동) 코드의 조각은 다음과 같습니다.
$files = $request->getFiles('foobar');
if(!empty($files) && isset($files['pict_path'])){
$pic_info = $files['pict_path'];
$originalName =$pic_info['name'];
$type = $pic_info['type'];
$tempName = $pic_info['tmp_name'];
$size = $pic_info['size'];
$pict_file = new sfValidatedFile($originalName, $type, $tempName, $size);
$this->form->setWidget('pict_path', new sfWidgetFormInputFile(array('default'=>$pict_file)));
}
사람이 방법을 제안 할 수 정확하게 원하는 동작은?
위에서 설명한 구현할