2014-02-03 2 views
0

Я хотел бы создать настраиваемое сообщение об ошибке при загрузке файла с ошибкой с помощью Kohana 3.3. Этот код получает правила и проверять их:Пользовательские правила правила правильности при загрузке файлов в Kohana

$image = $_FILES['image']; 

$rules = Model_Image::get_file_rules(); 
$validation = Validation::factory($_FILES)->rules('img_file', $rules); 

if(!$validation->check()) 
{ 
    throw new ORM_Validation_Exception('', $validation); 
} 

if($image['size'] > 0) 
{ 
    // upload 
} 

Правила:

public static function get_file_rules() 
{ 
    return array(
     array('Upload::valid'), 
     array('Upload::not_empty', array(':value')), 
     array('Upload::type', array(':value', array('jpg'))), 
     array('Upload::size', array(':value', '10M')) 
    ); 
} 

Когда файл не добавляется он бросает ORM_Validation_Exception. Когда я print_r($e->errors) я получаю следующее:

Array ([img_file] => .img_file.Upload::not_empty) 

Я хотел бы создать сообщение об ошибке. На данный момент у меня есть файл сообщений /messages/image.php со следующим содержимым:

return array(
    'filename_unique' => 'Filename must be unique', 


    'img_file' => array(
     'Upload::not_empty' => 'Add something!!', 
    ) 
); 

Как я могу создать собственное сообщение для этого?

ответ

0

Как указано в the Validation guide, вы должны использовать $validation->errors().

Если вы хотите сохранить свои сообщения в /messages/image.php, вам нужно написать throw new ORM_Validation_Exception('', $validation->errors('image'));, чтобы убедиться, что Kohana ищет хороший файл, содержащий ваши сообщения.

Дополнительная информация в API Browser.

 Смежные вопросы

  • Нет связанных вопросов^_^