无法访问与您的字段名称对应的错误消息 - 在MY_Form_validation

时间:2018-02-15 14:41:40

标签: fuelcms

我在application -> library folder下的 MY_Form_validation 类上编写了验证规则 如下..

public function doc_uploaded($field,$types)
    {
            $types=explode(',',$types);
            $upload = $this->CI->lang->line('upload');
            if(isset($_FILES[$field]) && !empty($_FILES[$field]['name']))
            {
                if(!function_exists('file_upload')){ $this->CI->load->helper('MY_file_helper'); }
                 $status = file_upload(($field),$_FILES[$field], captcha_path(),$types);

           if($status >0 or strlen($status) > 2 )
            {
                return TRUE;
            }
            elseif(is_array($status))
            {
                $this->CI->_error_array[$field] = $status[0];
                $this->CI->_error_array[$field] = $status[0];
                $this->_error_array[$field]=sprintf( $upload,$this->_translate_fieldname($this->_field_data[$field]['label']));
               // echo $field,  print_r($this->_error_array);
             // print_r($this->CI->_error_array);die();
                return FALSE;
            }
            else
            {
                $this->_error_array[$field] = $status[0];
                return FALSE;
            }
        }
        else
        {
            return FALSE;
        }
}

我正在从控制器设置验证规则,如下所示

$this->form_validation->set_rules('resume', 'Resume', 'required|doc_uploaded[pdf,doc,docx,odt,txt,ppt,pptx]');
$_POST['resume'] ='resume';

现在这个工作正常,除了错误按摩:

  

无法访问与您的字段名称对应的错误消息   恢复。(doc_uploaded)

必须是一种解决方法,请帮忙。我使用1.4

1 个答案:

答案 0 :(得分:0)

代替

$this->_error_array[$field] = $status[0];

使用

$this->CI->form_validation->set_message('doc_uploaded',$status[0]);

解决了问题