如何使用文件上传器进行表单验证以确保上传文件

时间:2011-10-12 09:08:05

标签: forms validation codeigniter frameworks upload

任何人都可以建议如何使用表单验证规则我可以​​说如下: -

如果没有上传文件 - 则使用表单验证器库创建一个规则,说“没有上传文件”。

我正在使用CodeIgniter 2.

例如 - 使用以下内容验证文本输入字段很简单,但我无法理解如何使用上传(使用$ _FILES数组而不是$ _POST)

例如。 $ this-> form_validation-> set_rules('title','Title','required'); //名为'title'的输入字段是必需的

1 个答案:

答案 0 :(得分:0)

CodeIgniter的File Uploading类处理自己的验证 - 无需使用Form Validation类。

Per the documentation

  

<强> $this->upload->display_errors()   

<小时/>   如果返回do_upload()函数,则检索任何错误消息   假。该函数不会自动echo,它会返回数据   所以你可以根据需要分配它。

在上面的示例中,如果文件输入为空,$this->upload->display_errors()将返回以下内容:

  

您没有选择要上传的文件。

因此,请设置您的偏好设置(请参阅the documentation的“设置首选项”部分,了解可用的内容):

// The following are just examples from the documentation...
$config['upload_path'] = './uploads/';
$config['allowed_types'] = 'gif|jpg|png';
$config['max_size'] = '100';
$config['max_width'] = '1024';
$config['max_height'] = '768';
// ... other preferences as necessary

如果在尝试上传期间上述任何一项失败,$this->upload->display_errors()将检索相应的错误消息。只需将其传递给您的视图即可显示错误。

希望有所帮助。