2013-05-21 3 views
2

나는 Kohana 3.2를 사용하고 있습니다. 두 개의 업로드 필드가있는 카테고리 양식이 있습니다. 하나는 이미지이고, 다른 하나는 배너입니다. 내 컨트롤러에서 나는 가지고 :Kohana 3.2 업로드 예외

모델의 내 이미지에 대한
try{ 

    $model_category->save(); 

}catch(ORM_Validation_Exception $e){ 
    $errors = $e->errors('forms'); 

    //echo Debug::vars($errors); 
}catch (Exception $e){ 
    $upload_errors = $e->getMessage(); 
} 

규칙 :

'photo' => array(

        array('Upload::valid'), 
        array('Upload::type', array(array(':value'),array('jpeg', 'jpg', 'png', 'gif'))), 
        array('Upload::size', array(array(':value'), array('500000'))) 
       ), 

       'banner' => array(
         //array(array($this, 'validate_photo'), array(':validation', ':field', ':value', 500, 100)), 
         array('Upload::valid'), 
         array('Upload::type', array(array(':value'),array('jpeg', 'jpg', 'png', 'gif'))), 
         array('Upload::size', array(array(':value'), array('5000000'))) 
       ), 

나는 그런 문제에있어 : ​​내가 예를 들어 "이름"을 위해, 필요한 경기장을 떠나지과 TXT를 업로드하는 경우 두 예외를 강제로 발생시키는 파일은 ORM_Validation_Exception 만 잡을 수 있습니다. 그래서 내 질문에 두 오류 배열을 병합하는 방법입니다. 그리고 매우 중요합니다. 이미지 필드 나 배너 필드의 예외인지 어떻게 알 수 있습니까?

나는 며칠 동안 노력했지만 끝까지 끝내지 않았습니다. 제발 도와주세요!

답변

1

Validation 클래스를 사용하여 업로드의 유효성을 검사하고 유효성 검사가 정상이면 모델을 저장할 수 있습니다.

뭔가 같은 :

$validate_image = Validation::factory($_FILES); 

    $validate_image->rule($name, 'Upload::valid'); 
    $validate_image->rule($name, 'Upload::type', array($_FILES['image'], array('jpeg', 'jpg', 'png', 'gif'))); 
    $validate_image->rule($name, 'Upload::size', array($_FILES[$name], '500000')); 


    $validate_banner = Validation::factory($_FILES); 

    $validate_banner->rule($name, 'Upload::valid'); 
    $validate_banner->rule($name, 'Upload::type', array($_FILES[$name], array('jpeg', 'jpg', 'png', 'gif'))); 
    $validate_banner->rule($name, 'Upload::size', array($_FILES[$name], '500000')); 

    if ($validate_image->check() && $validate_banner->check()) { 

     $model_category->save(); 

    }