Added boolean parameters to uri validation
Summary: Booleans must also be validated. These are denoted by {!boolParam}, as in they have a '!' symbol in front.
Reviewed By: danielbuechele
Differential Revision: D16802996
fbshipit-source-id: c03b858f0872dea0610e1d28aa9b48936f1117a6
This commit is contained in:
committed by
Facebook Github Bot
parent
c40a88b117
commit
fc01f5536e
@@ -10,6 +10,7 @@ import {Button, FlexColumn, Input, Sheet, styled, Glyph, colors} from 'flipper';
|
||||
import {
|
||||
replaceRequiredParametersWithValues,
|
||||
parameterIsNumberType,
|
||||
parameterIsBooleanType,
|
||||
validateParameter,
|
||||
liveEdit,
|
||||
} from '../util/uri';
|
||||
@@ -113,6 +114,13 @@ export default (props: Props) => {
|
||||
!validateParameter(values[idx], paramater) ? (
|
||||
<ErrorLabel>Parameter must be a number</ErrorLabel>
|
||||
) : null}
|
||||
{values[idx] &&
|
||||
parameterIsBooleanType(paramater) &&
|
||||
!validateParameter(values[idx], paramater) ? (
|
||||
<ErrorLabel>
|
||||
Parameter must be either 'true' or 'false'
|
||||
</ErrorLabel>
|
||||
) : null}
|
||||
</div>
|
||||
))}
|
||||
<URIContainer>{liveEdit(uri, values)}</URIContainer>
|
||||
|
||||
@@ -11,7 +11,10 @@ import querystring from 'querystring';
|
||||
export const validateParameter = (value: string, parameter: string) => {
|
||||
return (
|
||||
value &&
|
||||
(parameterIsNumberType(parameter) ? !isNaN(parseInt(value, 10)) : true)
|
||||
(parameterIsNumberType(parameter) ? !isNaN(parseInt(value, 10)) : true) &&
|
||||
(parameterIsBooleanType(parameter)
|
||||
? value === 'true' || value === 'false'
|
||||
: true)
|
||||
);
|
||||
};
|
||||
|
||||
@@ -40,6 +43,11 @@ export const parameterIsNumberType = (parameter: string) => {
|
||||
return regExp.test(parameter);
|
||||
};
|
||||
|
||||
export const parameterIsBooleanType = (parameter: string) => {
|
||||
const regExp = /^{(!|\?!)/g;
|
||||
return regExp.test(parameter);
|
||||
};
|
||||
|
||||
export const replaceRequiredParametersWithValues = (
|
||||
uri: string,
|
||||
values: Array<string>,
|
||||
|
||||
Reference in New Issue
Block a user