Add validateMaximum & validateMinimum

This address some of the validation requested on Issue #993
This commit is contained in:
HelderSepu
2017-09-24 11:43:47 -04:00
parent 1de6010629
commit 7d40d72281
2 changed files with 57 additions and 2 deletions

View File

@@ -470,6 +470,18 @@ export const propChecker = (props, nextProps, objectList=[], ignoreList=[]) => {
|| objectList.some( objectPropName => !eq(props[objectPropName], nextProps[objectPropName])))
}
export const validateMaximum = ( val, max ) => {
if (val > max) {
return "Value must be less than Maximum"
}
}
export const validateMinimum = ( val, min ) => {
if (val < min) {
return "Value must be greater than Minimum"
}
}
export const validateNumber = ( val ) => {
if (!/^-?\d+(\.?\d+)?$/.test(val)) {
return "Value must be a number"
@@ -517,6 +529,8 @@ 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 maximum = param.get("maximum")
let minimum = param.get("minimum")
let type = param.get("type")
let format = param.get("format")
@@ -539,6 +553,16 @@ export const validateParam = (param, isXml) => {
errors.push("Required field is not provided")
return errors
}
if (maximum) {
let err = validateMaximum(value, maximum)
if (err) errors.push(err)
}
if (minimum) {
let err = validateMinimum(value, minimum)
if (err) errors.push(err)
}
if ( type === "string" ) {
let err