diff options
author | Lance Vincent <lancevincent@gmail.com> | 2015-01-28 10:43:23 +0100 |
---|---|---|
committer | Lance Vincent <lancevincent@gmail.com> | 2015-01-28 10:43:23 +0100 |
commit | eca885df9d2c763f97fca04c5fec14ee420b0fa3 (patch) | |
tree | a0b0241bc5dba0ab6eb0ac04ee37a3c6f71ef841 | |
parent | a135a18fe99ccf4f27dabc6c4a045e42cd239cea (diff) |
Form Validation - In Method
Returns true if a given value matches any of the specified list
-rw-r--r-- | system/language/english/form_validation_lang.php | 1 | ||||
-rw-r--r-- | system/libraries/Form_validation.php | 16 | ||||
-rw-r--r-- | user_guide_src/source/libraries/form_validation.rst | 1 |
3 files changed, 18 insertions, 0 deletions
diff --git a/system/language/english/form_validation_lang.php b/system/language/english/form_validation_lang.php index 9156ebef0..e44a9e206 100644 --- a/system/language/english/form_validation_lang.php +++ b/system/language/english/form_validation_lang.php @@ -53,6 +53,7 @@ $lang['form_validation_less_than'] = 'The {field} field must contain a number l $lang['form_validation_less_than_equal_to'] = 'The {field} field must contain a number less than or equal to {param}.'; $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_in'] = 'The {field} field must be within a predetermined list: {param}.'; /* End of file form_validation_lang.php */ /* Location: ./system/language/english/form_validation_lang.php */
\ No newline at end of file diff --git a/system/libraries/Form_validation.php b/system/libraries/Form_validation.php index b640f1ec1..f3c882617 100644 --- a/system/libraries/Form_validation.php +++ b/system/libraries/Form_validation.php @@ -1438,6 +1438,22 @@ class CI_Form_validation { // -------------------------------------------------------------------- /** + * Value should be within an array of values + * + * @param string + * @param array + * @return bool + */ + public function in($value, $list) + { + $list = array_map('trim', explode(',', (string) $list)); + + return in_array((string) $value, $list); + } + + // -------------------------------------------------------------------- + + /** * Is a Natural number (0,1,2,3, etc.) * * @param string diff --git a/user_guide_src/source/libraries/form_validation.rst b/user_guide_src/source/libraries/form_validation.rst index 2b7780ff2..69b6c688a 100644 --- a/user_guide_src/source/libraries/form_validation.rst +++ b/user_guide_src/source/libraries/form_validation.rst @@ -962,6 +962,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** Yes Returns FALSE if the form element is not within a predetermined list. in[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 |