External functions in form_validation.php file - Printable Version +- CodeIgniter Forums (https://forum.codeigniter.com) +-- Forum: Using CodeIgniter (https://forum.codeigniter.com/forumdisplay.php?fid=5) +--- Forum: Libraries & Helpers (https://forum.codeigniter.com/forumdisplay.php?fid=11) +--- Thread: External functions in form_validation.php file (/showthread.php?tid=67960) |
External functions in form_validation.php file - annx10 - 05-01-2017 Hi. I want use form_validation.php file with my rules that I put in application/config. My problem is that some rules need use functions that are for example in models. I have this in my form_validation.php file: PHP Code: $config = array( The function "db_table('table_name')" is in the model: examples/examples_model If I don't use form_validation.php file, I put in my controller: $this->load->model('examples/examples_model'); Then I can use function "db_table()" without problems when I set set_rules: $this->form_validation->set_rules('usuario', 'Nombre de usuario', 'trim|required|max_length[12]|is_unique[' . db_table('user_table') . '.username]'); My problem is that if I use form_validation.php file instead set all rules in my controller, I can't use function "db_table()" because it's undefined. How can I use this external function in my form_validation.php file? Is possible? Thanks. RE: External functions in form_validation.php file - neuron - 05-01-2017 U need to extend form_validation library in application library create MY_Form_validation.php PHP Code: class MY_Form_validation extends CI_Form_validation { then add in config.php PHP Code: $config = array( in controller method: PHP Code: public function user_input(){ in application/language/yourlang/form_validation.php you can set error message text RE: External functions in form_validation.php file - annx10 - 05-02-2017 Hi, neuron. Thank you very much for your help. I had MY_Form_validation.php extending form_validation_library yet with several custom validation functions. My problem was that I needed use a function is in a model (examples_model), for general use, not for validation. In that case I have tried this in form_validation.php file and it works: PHP Code: $this->CI =& get_instance(); And then, I could use the function db_table of model Examples_model with: PHP Code: $this->CI->examples_model->db_table('table_name') Maybe is very complex. Regards. |