Unable to access an error message corresponding to your field name -while uploading file in fuel cms in MY_Form_validation

115 views Asked by At

I have written an validation rule on MY_Form_validation class under application -> library folder as follow ..

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;
        }
}

i am setting the validation rule from controller as follow

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

now this one working fine except that error massage :

Unable to access an error message corresponding to your field name Resume.(doc_uploaded)

must be an way to fix it please help . iam using 1.4

1

There are 1 answers

0
Swarna Sekhar Dhar On BEST ANSWER

instead of

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

using

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

resolved the issue