diff options
author | Lance Vincent <lancevincent@gmail.com> | 2015-01-26 14:18:25 +0100 |
---|---|---|
committer | Lance Vincent <lancevincent@gmail.com> | 2015-01-26 14:18:25 +0100 |
commit | e700c31255ca2cf1a6c38bdf0db962cc48304e55 (patch) | |
tree | 3c3fdfab5107ad9c9f5824e5bde679a5274a35f0 | |
parent | 8e72ecf6182a88cc7224f94a979085a06fea03d4 (diff) |
Form Validation - Date Method
Value should be a valid date
-rw-r--r-- | system/language/english/form_validation_lang.php | 1 | ||||
-rw-r--r-- | system/libraries/Form_validation.php | 25 | ||||
-rw-r--r-- | user_guide_src/source/libraries/form_validation.rst | 1 |
3 files changed, 27 insertions, 0 deletions
diff --git a/system/language/english/form_validation_lang.php b/system/language/english/form_validation_lang.php index 3bc4515f5..1230ce566 100644 --- a/system/language/english/form_validation_lang.php +++ b/system/language/english/form_validation_lang.php @@ -55,6 +55,7 @@ $lang['form_validation_greater_than'] = 'The {field} field must contain a numbe $lang['form_validation_greater_than_equal_to'] = 'The {field} field must contain a number greater than or equal to {param}.'; $lang['form_validation_between'] = 'The {field} field must contain a number between {param}.'; $lang['form_validation_in'] = 'The {field} field must be within a predetermined list: {param}.'; +$lang['form_validation_date'] = 'The {field} field must be a proper date.'; /* 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 e98c87f81..3e8204eee 100644 --- a/system/libraries/Form_validation.php +++ b/system/libraries/Form_validation.php @@ -1475,6 +1475,31 @@ class CI_Form_validation { // -------------------------------------------------------------------- /** + * Value should be a valid date + * + * @param string + * @return bool + */ + public function date($date) + { + if (strtotime($date) === FALSE) + { + return FALSE; + } + + if ($date instanceof DateTime) + { + return TRUE; + } + + $date = date_parse($date); + + return checkdate($date['month'], $date['day'], $date['year']); + } + + // -------------------------------------------------------------------- + + /** * 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 3f6e4905f..3f723696e 100644 --- a/user_guide_src/source/libraries/form_validation.rst +++ b/user_guide_src/source/libraries/form_validation.rst @@ -964,6 +964,7 @@ Rule Parameter Description or not numeric. **between** Yes Returns FALSE if the form element is not within the given range. between[10,20] **in** Yes Returns FALSE if the form element is not within a predetermined list. in[red,blue,green] +**date** No Returns FALSE if the form element is not a proper date. **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 |