diff options
author | Andrey Andreev <narf@bofh.bg> | 2012-11-03 17:26:27 +0100 |
---|---|---|
committer | Andrey Andreev <narf@bofh.bg> | 2012-11-03 17:26:27 +0100 |
commit | 751f2479460c6f5cfc5333f6561d9827a92089bd (patch) | |
tree | 7714203244d3532a0e2578df811697a3bc8c2f27 /system | |
parent | d7677ab78cb98283677f85a8acf3ef4489a30d5e (diff) |
Fix #1957
Diffstat (limited to 'system')
-rw-r--r-- | system/libraries/Form_validation.php | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/system/libraries/Form_validation.php b/system/libraries/Form_validation.php index 50708c7d8..e50eee4f2 100644 --- a/system/libraries/Form_validation.php +++ b/system/libraries/Form_validation.php @@ -440,11 +440,10 @@ class CI_Form_validation { // Load the language file containing error messages $this->CI->lang->load('form_validation'); - // Cycle through the rules for each field, match the - // corresponding $_POST item and test for errors + // Cycle through the rules for each field and match the corresponding $validation_data item foreach ($this->_field_data as $field => $row) { - // Fetch the data from the corresponding $_POST or validation array and cache it in the _field_data array. + // Fetch the data from the validation_data array item and cache it in the _field_data array. // Depending on whether the field name is an array or a string will determine where we get it from. if ($row['is_array'] === TRUE) { @@ -454,7 +453,13 @@ class CI_Form_validation { { $this->_field_data[$field]['postdata'] = $validation_array[$field]; } + } + // Execute validation rules + // Note: A second foreach (for now) is required in order to avoid false-positives + // for rules like 'matches', which correlate to other validation fields. + foreach ($this->_field_data as $field => $row) + { // Don't try to validate if we have no rules set if (empty($row['rules'])) { |