Changed the behaviour of custom callbacks so that they no longer trigger the "required" rule.
diff --git a/system/libraries/Validation.php b/system/libraries/Validation.php
index 33753bc..575c526 100644
--- a/system/libraries/Validation.php
+++ b/system/libraries/Validation.php
@@ -195,7 +195,7 @@
$ex = explode('|', $rules);
// Is the field required? If not, if the field is blank we'll move on to the next test
- if ( ! in_array('required', $ex, TRUE) AND strpos($rules, 'callback_') === FALSE)
+ if ( ! in_array('required', $ex, TRUE))
{
if ( ! isset($_POST[$field]) OR $_POST[$field] == '')
{
@@ -546,7 +546,7 @@
*/
function numeric($str)
{
- return ( ! ereg("^[0-9\.]+$", $str)) ? FALSE : TRUE;
+ return ! preg_match('/[^0-9]/', $str);
}
// --------------------------------------------------------------------
diff --git a/user_guide/changelog.html b/user_guide/changelog.html
index d9819d4..69e4614 100644
--- a/user_guide/changelog.html
+++ b/user_guide/changelog.html
@@ -76,7 +76,8 @@
<li>Added a check for NULL fields in the MySQL database backup utility.</li>
<li>Documented the timezones() function in the <a href="./helpers/date_helper.html">Date Helper</a>.</li>
<li>Documented unset_userdata in the <a href="./libraries/sessions.html">Session class</a>.</li>
- <li>Fixed a bug in <a href="./libraries/validation.html">Validation</a> where valid_ip() wasn't called properly</li>
+ <li>Changed the behaviour of custom callbacks so that they no longer trigger the "required" rule. </li>
+ <li>Fixed a bug in <a href="./libraries/validation.html">Validation</a> where valid_ip() wasn't called properly.</li>
<li>Fixed a bug in the Session library where user agent matching would fail on user agents ending with a space. </li>
<li>Fixed a bug in database driver where num_rows property wasn't getting updated.</li>
<li>Fixed a bug in captcha calling an invalid PHP function.</li>