From 85b7b7241d6e5ae55850f02bc84f08c149073599 Mon Sep 17 00:00:00 2001 From: HelderSepu Date: Tue, 19 Sep 2017 14:31:27 -0400 Subject: [PATCH] Add validateDateTime & validateGuid Initial work to tacke some of the missing validation (Issue #993) --- src/core/utils.js | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/src/core/utils.js b/src/core/utils.js index 1a835d3f..6ff31c29 100644 --- a/src/core/utils.js +++ b/src/core/utils.js @@ -500,12 +500,25 @@ export const validateString = ( val ) => { } } +export const validateDateTime = (val) => { + if (val && typeof val !== "string") { + return "Value must be a DateTime" + } +} + +export const validateGuid = (val) => { + if (val && typeof val !== "string") { + return "Value must be a Guid" + } +} + // validation of parameters before execute export const validateParam = (param, isXml) => { let errors = [] let value = isXml && param.get("in") === "body" ? param.get("value_xml") : param.get("value") let required = param.get("required") let type = param.get("type") + let format = param.get("format") /* If the parameter is required OR the parameter has a value (meaning optional, but filled in) @@ -528,7 +541,14 @@ export const validateParam = (param, isXml) => { } if ( type === "string" ) { - let err = validateString(value) + let err + if (format === "date-time") { + err = validateDateTime(value) + } else if (format === "uuid") { + err = validateGuid(value) + } else { + err = validateString(value) + } if (!err) return errors errors.push(err) } else if ( type === "boolean" ) {