I\'ve created a \"validation helper\" that was supposed to have all my custom validation rules. The problem is that when I use them in my form validation, they seem to be ig
Robin's answer is the easiest way to deal with it; however, the why you can't is this:
look in your system/libraries/Form_Validation.php, line: 587
if ( ! method_exists($this->CI, $rule))
{
continue;
}
This check is done on all callbacks. Helpers are not classes & not loaded into the CI instance - and so not available from the Form_Validation library (because of the way it is specifically coded in this method)
A function in a helper and a controller are different obviously.
Create an extended MY_Form_validation.php
in your libraries/
, add the functions there and finally set the rules without callback_
and just their function name.
Example:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class MY_Form_validation extends CI_Form_validation {
/* set_rule('custom_require') */
function custom_require($str) {
return (bool)$str;
}
}