0

当使用 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_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!!',
    )
);

如何为此创建自定义消息?

4

1 回答 1

0

验证指南中所述,您应该使用$validation->errors().

如果您想将您的消息存储在 中/messages/image.php,您必须写信throw new ORM_Validation_Exception('', $validation->errors('image'));以确保 Kohana 正在寻找包含您的消息的好文件。

API 浏览器中的更多信息。

于 2014-02-13T00:42:11.913 回答