Fixes #3361 - Check for null and undefined values in validateParam

This commit is contained in:
Owen Conti
2017-07-10 19:46:32 -06:00
parent 42efd8a60e
commit 6beaaca6e6
2 changed files with 63 additions and 21 deletions

View File

@@ -485,6 +485,10 @@ export const validateParam = (param, isXml) => {
return errors
}
if ( value === null || value === undefined ) {
return errors
}
if ( type === "number" ) {
let err = validateNumber(value)
if (!err) return errors

View File

@@ -214,6 +214,7 @@ describe("utils", function(){
})
it("validates numbers", function() {
// string instead of a number
param = fromJS({
required: false,
type: "number",
@@ -221,9 +222,28 @@ describe("utils", function(){
})
result = validateParam( param, false )
expect( result ).toEqual( ["Value must be a number"] )
// undefined value
param = fromJS({
required: false,
type: "number",
value: undefined
})
result = validateParam( param, false )
expect( result ).toEqual( [] )
// null value
param = fromJS({
required: false,
type: "number",
value: null
})
result = validateParam( param, false )
expect( result ).toEqual( [] )
})
it("validates integers", function() {
// string instead of integer
param = fromJS({
required: false,
type: "integer",
@@ -231,6 +251,24 @@ describe("utils", function(){
})
result = validateParam( param, false )
expect( result ).toEqual( ["Value must be an integer"] )
// undefined value
param = fromJS({
required: false,
type: "integer",
value: undefined
})
result = validateParam( param, false )
expect( result ).toEqual( [] )
// null value
param = fromJS({
required: false,
type: "integer",
value: null
})
result = validateParam( param, false )
expect( result ).toEqual( [] )
})
it("validates arrays", function() {