Php 在Kohana中上载文件时的自定义验证规则消息

Php 在Kohana中上载文件时的自定义验证规则消息,php,kohana,kohana-orm,kohana-3.3,Php,Kohana,Kohana Orm,Kohana 3.3,当使用Kohana 3.3上传文件验证失败时,我想创建一条自定义错误消息。此代码正在获取规则并检查它们: $image = $_FILES['image']; $rules = Model_Image::get_file_rules(); $validation = Validation::factory($_FILES)->rules('img_file', $rules); if(!$validation->check()) { throw new ORM_Valid

当使用Kohana 3.3上传文件验证失败时,我想创建一条自定义错误消息。此代码正在获取规则并检查它们:

$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\u验证\u异常。当我打印($e->错误)时,我得到以下信息:

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!!',
    )
);
如何为此创建自定义消息?

如中所述,您应该使用
$validation->errors()

如果您想将消息存储在
/messages/image.php
中,您必须编写
抛出新的ORM\u验证\u异常('''.$Validation->errors('image')
以确保Kohana正在查找包含您的邮件的好文件

更多信息请参阅