• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Extend MY_Form_validation not work

#1
I'm locked for extend my form_validation rules...
In my controller I have a function article_new() who have this rules :


PHP Code:
$this->form_validation
    
->set_rules('titre','Titre','trim|required|xss_clean|encode_php_tags')
 
   ->set_rules('image','Image','callback_handle_upload')
 
   ->set_rules('tags','Tags','trim|required|xss_clean|callback_tags|encode_php_tags')
 
   ->set_rules('article','Article','trim|required|xss_clean|encode_php_tags'); 


Here my function handle_upload :


PHP Code:
   <?php
    function handle_upload
()
 
   {
 
       if (isset($_FILES['image']) && !empty($_FILES['image']['name']))
 
       {
 
           
        
}
 
       else
        
{
 
           // throw an error because nothing was uploaded
 
           $this->form_validation->set_message('handle_upload'"Vous devez uploader une image");
 
           return false;
 
       }
 
   }
 
   ?>


My function works well but I want to move this out of my controller.
So I put the function in the MY_Form_validation library located in application/librairies/MY_Form_validation.php.
If I do this, and I remove "callback_" in my rules it doesn't work... and I don't know why Sad
I work with the 2.2.6 version.
Reply

#2
You are not showing us your MY_Form_validation.php...
Reply

#3
Thanks for your reply !
I have that in MY_Form_validation file ( in application/libraries/ ) : 


PHP Code:
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
 
class 
MY_Form_validation extends CI_Form_validation{

 
   function __construct()
 
   {
 
       parent::__construct();
 
    

   
    function handle_upload
($image,$param)
 
         
        if
(isset($_FILES['image']) && !empty($_FILES['image']['name']))
 
       {
 
           
        
}
 
       else
        
{
 
           // throw an error because nothing was uploaded
 
           $this->form_validation->set_message('handle_upload'"You must upload an image");
 
           return false;
 
       }
 
   }

Reply

#4
In your rule set_rules('image','Image','callback_handle_upload') you need to remove the callback_ from the function call.

Hope that helps,

Paul.
Reply

#5
(07-18-2016, 07:32 AM)PaulD Wrote: In your rule set_rules('image','Image','callback_handle_upload') you need to remove the callback_ from the function call.

Hope that helps,

Paul.

Thanks for your answer, but I said in my first message that I remove the "callback_" in my rules when I put my function in MY_Form_validation file and it's why I don't understand what I missed ...
Reply

#6
1. STOP USING CI2!
2. Pay attention to context.

$this->form_validation inside doesn't exist, it needs to be just $this.
Reply


Digg   Delicious   Reddit   Facebook   Twitter   StumbleUpon  


  Theme © 2014 iAndrew  
Powered By MyBB, © 2002-2019 MyBB Group.