From 99370008fd361385e9d4800e9fa8c84117302f02 Mon Sep 17 00:00:00 2001 From: Hannu Lyytikainen Date: Fri, 16 Feb 2018 16:38:30 +0200 Subject: [PATCH] Add validation for filtering query params --- src/containers/SearchPage/SearchPage.js | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/containers/SearchPage/SearchPage.js b/src/containers/SearchPage/SearchPage.js index 8955b37b..c9209182 100644 --- a/src/containers/SearchPage/SearchPage.js +++ b/src/containers/SearchPage/SearchPage.js @@ -71,6 +71,16 @@ const validURLParamForExtendedData = (paramKey, urlParams) => { return {}; }; +// validate filter params +const validURLParamsForExtendedData = params => { + const { [CATEGORY_URL_PARAM]: category, [AMENITIES_URL_PARAM]: amenities, ...rest } = params; + return { + ...rest, + ...validURLParamForExtendedData(CATEGORY_URL_PARAM, params), + ...validURLParamForExtendedData(AMENITIES_URL_PARAM, params), + }; +}; + // extract search parameters, including a custom attribute named category const pickSearchParamsOnly = params => { const { address, origin, bounds, country, ...rest } = params || {}; @@ -244,6 +254,8 @@ export class SearchPageComponent extends Component { const totalItems = searchParamsMatch && hasPaginationInfo ? pagination.totalItems : 0; const listingsAreLoaded = !searchInProgress && searchParamsMatch && hasPaginationInfo; + const validQueryParams = validURLParamsForExtendedData(searchInURL); + const searchError = (

@@ -333,7 +345,7 @@ export class SearchPageComponent extends Component {