【问题标题】:Custom validation rule messages when uploading files in Kohana在 Kohana 中上传文件时的自定义验证规则消息
【发布时间】:2014-02-03 13:24:11
【问题描述】:

当上传文件使用 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!!',
    )
);

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

【问题讨论】:

    标签: php kohana kohana-orm kohana-3.3


    【解决方案1】:

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

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

    更多信息在API Browser

    【讨论】:

      猜你喜欢
      • 2012-03-24
      • 1970-01-01
      • 2011-04-29
      • 1970-01-01
      • 1970-01-01
      • 2016-12-04
      • 1970-01-01
      • 2021-08-30
      • 1970-01-01
      相关资源
      最近更新 更多