diff options
Diffstat (limited to 'system/libraries/Form_validation.php')
-rw-r--r-- | system/libraries/Form_validation.php | 73 |
1 files changed, 43 insertions, 30 deletions
diff --git a/system/libraries/Form_validation.php b/system/libraries/Form_validation.php index c2212585d..12cfdff43 100644 --- a/system/libraries/Form_validation.php +++ b/system/libraries/Form_validation.php @@ -637,21 +637,7 @@ class CI_Form_validation { // Set the message type $type = in_array('required', $rules) ? 'required' : 'isset'; - // Check if a custom message is defined - if (isset($this->_field_data[$row['field']]['errors'][$type])) - { - $line = $this->_field_data[$row['field']]['errors'][$type]; - } - elseif (isset($this->_error_messages[$type])) - { - $line = $this->_error_messages[$type]; - } - elseif (FALSE === ($line = $this->CI->lang->line('form_validation_'.$type)) - // DEPRECATED support for non-prefixed keys - && FALSE === ($line = $this->CI->lang->line($type, FALSE))) - { - $line = 'The field was not set'; - } + $line = $this->_get_raw_error_message($type, $row); // Build the error message $message = $this->_build_error_msg($line, $this->_translate_fieldname($row['label'])); @@ -820,23 +806,9 @@ class CI_Form_validation { { $line = $this->CI->lang->line('form_validation_error_message_not_set').'(Anonymous function)'; } - // Check if a custom message is defined - elseif (isset($this->_field_data[$row['field']]['errors'][$rule])) - { - $line = $this->_field_data[$row['field']]['errors'][$rule]; - } - elseif ( ! isset($this->_error_messages[$rule])) - { - if (FALSE === ($line = $this->CI->lang->line('form_validation_'.$rule)) - // DEPRECATED support for non-prefixed keys - && FALSE === ($line = $this->CI->lang->line($rule, FALSE))) - { - $line = $this->CI->lang->line('form_validation_error_message_not_set').'('.$rule.')'; - } - } else { - $line = $this->_error_messages[$rule]; + $line = $this->_get_raw_error_message($rule, $row); } // Is the parameter we are inserting into the error message the name @@ -865,6 +837,47 @@ class CI_Form_validation { // -------------------------------------------------------------------- /** + * Get the error message for the rule + * + * @param string the rule name. + * @param array + * @return string + */ + private function _get_raw_error_message($key, $row) + { + $error_message = ''; + // Check if a custom message is defined through validation config row. + if (isset($this->_field_data[$row['field']]['errors'][$key])) + { + $error_message = $this->_field_data[$row['field']]['errors'][$key]; + } + // check if a custom message has been set using the set_message() function + elseif (isset($this->_error_messages[$key])) + { + $error_message = $this->_error_messages[$key]; + } + // check if we have an error message in lang file + elseif (FALSE !== ($line_tmp = $this->CI->lang->line('form_validation_'.$key))) + { + $error_message = $line_tmp; + } + // DEPRECATED support for non-prefixed keys, lang file again + elseif (FALSE !== ($line_tmp = $this->CI->lang->line($key, FALSE))) + { + $error_message = $line_tmp; + } + //error message not found + else + { + $error_message = $this->CI->lang->line('form_validation_error_message_not_set').'('.$key.')'; + } + + return $error_message; + } + + // -------------------------------------------------------------------- + + /** * Translate a field name * * @param string the field name |