From 4ea112859507545cc6aa6991834d9ae29906b8da Mon Sep 17 00:00:00 2001 From: Dominique Fournier Date: Wed, 3 May 2017 13:41:49 +0000 Subject: [PATCH] verify: add the dateSQL check git-svn-id: https://svn.fournier38.fr/svn/ProgSVN/trunk@3565 bf3deb0d-5f1a-0410-827f-c0cc1f45334c --- verify.php | 37 ++++++++++++++++++++++++++++++++++--- 1 file changed, 34 insertions(+), 3 deletions(-) diff --git a/verify.php b/verify.php index a8858a0..a42ddbb 100644 --- a/verify.php +++ b/verify.php @@ -158,7 +158,7 @@ class verify /////////////// // DATES // /////////////// - /** Check if $val is a valid date + /** Check if $val is a valid date and time in SQL A valid date is 2014-03-20 12:27:34 Return true or false @param string $val The date to check */ @@ -167,7 +167,7 @@ class verify return \verify::staticIs_datetimeSQL ($val); } - /** Check if $val is a valid date in static mode + /** Check if $val is a valid date and time in SQL in static mode A valid date is 2014-03-20 12:27:34 Return true or false @param string $val The date to check */ @@ -175,7 +175,7 @@ class verify { if (strlen ($val) !== 19) return false; - $arr = date_parse ($val); + $arr = \date_parse ($val); if ($arr["warning_count"] !==0) return false; if ($arr["error_count"] !==0) @@ -189,6 +189,37 @@ class verify return true; } + /** Check if $val is a valid date in SQL + A valid date is 2014-03-20 + Return true or false + @param string $val The date to check */ + public function is_dateSQL ($val) + { + return \verify::staticIs_dateSQL ($val); + } + + /** Check if $val is a valid date in SQL in static mode + A valid date is 2014-03-20 + Return true or false + @param string $val The date to check */ + public static function staticIs_dateSQL ($val) + { + if (strlen ($val) !== 10) + return false; + $arr = \date_parse ($val); + if ($arr["warning_count"] !==0) + return false; + if ($arr["error_count"] !==0) + return false; + if (isset ($arr["tz_abbr"])) + return false; + if (strspn ($val, "0123456789-") !== strlen ($val)) + return false; + if (\DateTime::createFromFormat("Y-m-d", $val) === false) + return false; + return true; + } + ///////////////// // NUMBERS // /////////////////