In codeigniter I have used codeigniter form validation library in many controller,
ex: -
$this->form_validation->set_rules('rank', 'Rank', 'required');
If form validation failed, Then it displays
"The Rank field is required."
Here I want to display custom message,One method I can follow is
$this->form_validation->set_message('required', '%s can not be blank');
If I using this method then I need to repeat this code in every controller wherever I am using "required" form validation method
My question is there is any method to declare this custom message in configure file and automatically use this custom message whenever I using form validation rule "required"?
If you want to permanently over-ride the error message just hard code it into the form_validation_lang.php file.
(Located at system/language/english)
It you want the choice the extend the form_validation class adding your custom required function and add the appropriate error message in the lang file.
For example;
class MY_Form_validation {
public function custom_required($str) {
if ( ! is_array($str)) {
return (trim($str) == '') ? FALSE : TRUE;
} else {
return ( ! empty($str));
}
}
}
Then in the lang file;
$lang['custom_required'] = "%s can not be blank.";
From the CI docs themselves:
"All of the native error messages are located in the following language file: language/english/form_validation_lang.php
To set your own custom message you can either edit that file, or use the following function:$this->form_validation->set_message('rule', 'Error Message');"
http://codeigniter.com/user_guide/libraries/form_validation.html#settingerrors
class MY_Form_validation extends CI_Form_validation {
public function __construct()
{
parent::__construct();
}
function required_select($input)
{
$this->set_message('required_select','select %s');
return FALSE;
}
}
Works for me : )