Codeigniter estendere libreria Validation

lucavalentino

Utente Attivo
15 Lug 2006
102
0
16
Sto usando codeigniter per un'applicazione web, mami servono delle funzioni personali e quindi volevo estendere la libreria Form_Validation:

MY_validation extends CI_Form_validation
PHP:
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
class MY_validation extends CI_Form_validation {
    function MY_validation(){
        parent::__construct();
        $this->CI =& get_instance();
}
    function url_format($str){
        $pattern = "|^http(s)?://[a-z0-9-]+(.[a-z0-9-]+)*(:[0-9]+)?(/.*)?$|i";
        if (!preg_match($pattern, $str)){
            $this->CI->Form_validation->set_message('url', 'The URL you entered is not correctly formatted.');
            return FALSE;
    }
        return TRUE;
    }
}
My controller
PHP:
class valid extends MY_Controller{
	public function __construct(){
	parent::__construct();
		$this->_CI =& get_instance();
		$this->_CI->lang->load('upload');
		$this->load->model('upload_m');
	}
	public function index(){
		$this->load->helper(array('form', 'url'));
		$this->load->library('form_validation','My_validation');
		$this->validation->CI =& $this;
......
......
	 $this->form_validation->set_rules('sito', 'Sito', 'url_format');
		if ($this->form_validation->run()==FALSE){
$this->load->view('upload_edit_view); }
}
}
Nella view quandoi fado a stampare l'errore invece di darmi il messaggio di errore mi da il nome della funzione in tale modo (url_format)