diff options
-rw-r--r-- | system/helpers/url_helper.php | 2 | ||||
-rw-r--r-- | system/libraries/Form_validation.php | 11 | ||||
-rw-r--r-- | user_guide_src/source/changelog.rst | 2 |
3 files changed, 11 insertions, 4 deletions
diff --git a/system/helpers/url_helper.php b/system/helpers/url_helper.php index 5f8c6ce67..6a033d6ba 100644 --- a/system/helpers/url_helper.php +++ b/system/helpers/url_helper.php @@ -474,7 +474,7 @@ if ( ! function_exists('url_title')) * @param string $str Input string * @param string $separator Word separator * (usually '-' or '_') - * @param bool $lowercase Wether to transform the output string to lowercase + * @param bool $lowercase Whether to transform the output string to lowercase * @return string */ function url_title($str, $separator = '-', $lowercase = FALSE) diff --git a/system/libraries/Form_validation.php b/system/libraries/Form_validation.php index 7599602c0..d9ecc45f9 100644 --- a/system/libraries/Form_validation.php +++ b/system/libraries/Form_validation.php @@ -618,6 +618,12 @@ class CI_Form_validation { $rules = array(1 => $rule); break; } + elseif (is_array($rule) && isset($rule[0], $rule[1]) && is_callable($rule[1])) + { + $callback = TRUE; + $rules = array(array($rule[0], $rule[1])); + break; + } } if ( ! $callback) @@ -815,11 +821,10 @@ class CI_Form_validation { // Callable rules might not have named error messages if ( ! is_string($rule)) { - return; + $line = $this->CI->lang->line('form_validation_error_message_not_set').'(Anonymous function)'; } - // Check if a custom message is defined - if (isset($this->_field_data[$row['field']]['errors'][$rule])) + elseif (isset($this->_field_data[$row['field']]['errors'][$rule])) { $line = $this->_field_data[$row['field']]['errors'][$rule]; } diff --git a/user_guide_src/source/changelog.rst b/user_guide_src/source/changelog.rst index 7e14152e3..1d9fa0b64 100644 --- a/user_guide_src/source/changelog.rst +++ b/user_guide_src/source/changelog.rst @@ -31,6 +31,8 @@ Bug fixes for 3.0.1 - Fixed a bug (#3854) - `field_data()` didn't work properly with the Oracle (OCI8) database driver. - Fixed a bug in the :doc:`Database Utility Class <database/utilities>` method ``csv_from_result()`` didn't work with a whitespace CSV delimiter. - Fixed a bug (#3890) - :doc:`Input Library <libraries/input>` method ``get_request_header()`` treated header names as case-sensitive. +- Fixed a bug (#3903) - :doc:`Form Validation Library <libraries/form_validation>` ignored "unnamed" closure validation rules. +- Fixed a bug (#3904) - :doc:`Form Validation Library <libraries/form_validation>` ignored "named" callback rules when the field is empty and there's no 'required' rule. Version 3.0.0 ============= |