summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLance Vincent <lancevincent@gmail.com>2015-01-26 14:18:25 +0100
committerLance Vincent <lancevincent@gmail.com>2015-01-26 14:18:25 +0100
commite700c31255ca2cf1a6c38bdf0db962cc48304e55 (patch)
tree3c3fdfab5107ad9c9f5824e5bde679a5274a35f0
parent8e72ecf6182a88cc7224f94a979085a06fea03d4 (diff)
Form Validation - Date Method
Value should be a valid date
-rw-r--r--system/language/english/form_validation_lang.php1
-rw-r--r--system/libraries/Form_validation.php25
-rw-r--r--user_guide_src/source/libraries/form_validation.rst1
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