Extending form validation in Codeigniter

后端 未结 3 989
故里飘歌
故里飘歌 2020-12-10 16:01

I have placed this class file called \'My_Form_validation.php\' into \'application/core\' and I have also tried placing it in \'application/libraries\'.

In my contro

3条回答
  •  伪装坚强ぢ
    2020-12-10 16:32

    I know this is old, but just in case someone else stumbles on this in the modern day like I did, here's a quick example. (Currently using 3.0.6, but I believe this will work on 2 as well.)

    class MY_Form_validation extends CI_Form_validation { // Capitalization matters
    
      protected $CI;
    
      public function __construct() {
          parent::__construct();
      }
    
      /**
       * Valid Date
       *
       * Verify that the date value provided can be converted to a valid unix timestamp
       *
       * @param string  $str
       * @return    bool
       */
    
      public function valid_date($str) {
          $CI = $this->CI =& get_instance(); // Get your CodeIgniter instance
    
          if (($str = strtotime($str)) === FALSE) { // Basic timestamp check
              // Set error message by calling the method through the CI instance.
              // Obviously must be done BEFORE returning any value
              $this->CI->form_validation->set_message('valid_date', '{field} must be a valid date.');
              return FALSE;
          }
    
          return TRUE;
        }
    }
    

提交回复
热议问题