public function upload()
{
if (empty($_FILES['vchr_file']['name'])) {
$this->form_validation->set_rules('vchr_file','File','required');
}
if ($this->form_validation->run()== true)
{
echo 'valid';
}
else{
$data['message'] = (validation_errors() ? validation_errors() : ($this->ion_auth->errors() ? $this->ion_auth->errors() : $this->session->flashdata('message')));
$data['file']=array(
'name' =>'vchr_file',
'type' =>'file',
'label' =>'File Upload'
);
$this->load->user_view('kyc',$data);
}
}
我的控制器
div class="row">
<div class="col-md-4">
<?php echo form_label($file['label']);
echo form_input($file); ?>
</div>
<div class="col-md-2">
<input type="submit" name="upload" value="Upload">
</div>
</div>
<?php echo form_close(); ?>
我的观点
form_validation永远不会运行..而且当我上传文件时验证错误没有显示,但验证run()无效。
答案 0 :(得分:0)
当文件实际上传时,条件set_rules
语句不适用该规则(这是有意义的)。但是,form_validation
总是需要设置规则,如果没有设置规则(例如条件语句因为上传文件而永远不会通过),而run()
将始终返回false。
如果您计划实施更多规则,那么您应该没有问题。
最好只使用form_validation
来处理它,而只使用empty($_FILES['vchr_file']['name']
的条件语句(再次,如果你不添加更多规则)。