我想在使用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!!',
)
);
如何为此创建自定义消息?
答案 0 :(得分:0)
正如the Validation guide中所述,您应该使用$validation->errors()
。
如果您要将邮件存储在/messages/image.php
中,则必须编写throw new ORM_Validation_Exception('', $validation->errors('image'));
以确保Kohana正在查找包含您的邮件的好文件。
API Browser中的更多信息。