diff options
author | Andrey Andreev <narf@devilix.net> | 2015-01-28 23:10:17 +0100 |
---|---|---|
committer | Andrey Andreev <narf@devilix.net> | 2015-01-28 23:10:17 +0100 |
commit | 77dab99e46f1f75a4238b832801ede3b51f7061c (patch) | |
tree | 6d2b30bf9dad52223b1f622a16cefcd567acbef7 | |
parent | 5f402d0bd0f0e9bfd128d47320cb88e5cc530227 (diff) | |
parent | 8f72ecb89b7a8a0ca7bba54503016c5c8e445608 (diff) |
Merge pull request #3521 from foxlance/develop
Add 'in_list' form validation rule
-rw-r--r-- | system/language/english/form_validation_lang.php | 1 | ||||
-rw-r--r-- | system/libraries/Form_validation.php | 14 | ||||
-rw-r--r-- | user_guide_src/source/changelog.rst | 1 | ||||
-rw-r--r-- | user_guide_src/source/libraries/form_validation.rst | 1 |
4 files changed, 17 insertions, 0 deletions
diff --git a/system/language/english/form_validation_lang.php b/system/language/english/form_validation_lang.php index e5ef09e3e..75d6e4b82 100644 --- a/system/language/english/form_validation_lang.php +++ b/system/language/english/form_validation_lang.php @@ -65,3 +65,4 @@ $lang['form_validation_less_than_equal_to'] = 'The {field} field must contain a $lang['form_validation_greater_than'] = 'The {field} field must contain a number greater than {param}.'; $lang['form_validation_greater_than_equal_to'] = 'The {field} field must contain a number greater than or equal to {param}.'; $lang['form_validation_error_message_not_set'] = 'Unable to access an error message corresponding to your field name {field}.'; +$lang['form_validation_in_list'] = 'The {field} field must be one of: {param}.'; diff --git a/system/libraries/Form_validation.php b/system/libraries/Form_validation.php index 819224528..cfb13ae2e 100644 --- a/system/libraries/Form_validation.php +++ b/system/libraries/Form_validation.php @@ -1449,6 +1449,20 @@ class CI_Form_validation { // -------------------------------------------------------------------- /** + * Value should be within an array of values + * + * @param string + * @param array + * @return bool + */ + public function in_list($value, $list) + { + return in_array($value, explode(',', $list), TRUE); + } + + // -------------------------------------------------------------------- + + /** * Is a Natural number (0,1,2,3, etc.) * * @param string diff --git a/user_guide_src/source/changelog.rst b/user_guide_src/source/changelog.rst index a22b94f8c..f0202dd02 100644 --- a/user_guide_src/source/changelog.rst +++ b/user_guide_src/source/changelog.rst @@ -353,6 +353,7 @@ Release Date: Not Released - Fields that have empty rules set no longer run through validation (and therefore are not considered erroneous). - Added rule **differs** to check if the value of a field differs from the value of another field. - Added rule **valid_url**. + - Added rule **in_list** to check if the value of a field is within a given list. - Added support for named parameters in error messages. - :doc:`Language <libraries/language>` line keys must now be prefixed with **form_validation_**. - Added rule **alpha_numeric_spaces**. diff --git a/user_guide_src/source/libraries/form_validation.rst b/user_guide_src/source/libraries/form_validation.rst index f964965ec..2d05d1b2f 100644 --- a/user_guide_src/source/libraries/form_validation.rst +++ b/user_guide_src/source/libraries/form_validation.rst @@ -961,6 +961,7 @@ Rule Parameter Description not numeric. **less_than_equal_to** Yes Returns FALSE if the form element is greater than the parameter value, less_than_equal_to[8] or not numeric. +**in_list** Yes Returns FALSE if the form element is not within a predetermined list. in_list[red,blue,green] **alpha** No Returns FALSE if the form element contains anything other than alphabetical characters. **alpha_numeric** No Returns FALSE if the form element contains anything other than alpha-numeric characters. **alpha_numeric_spaces** No Returns FALSE if the form element contains anything other than alpha-numeric characters |