From 0beb929cf3e1e6d73e25b4c65e4df9a0489c9607 Mon Sep 17 00:00:00 2001 From: Kerem Yilmaz Date: Fri, 20 Sep 2024 05:23:20 -0700 Subject: [PATCH] Validate json and don't allow null parameter values when running workflow (#866) --- skyvern-frontend/src/routes/workflows/RunWorkflowForm.tsx | 5 ++++- .../src/routes/workflows/WorkflowRunParameters.tsx | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/skyvern-frontend/src/routes/workflows/RunWorkflowForm.tsx b/skyvern-frontend/src/routes/workflows/RunWorkflowForm.tsx index 4316dd81c..0c7f7da41 100644 --- a/skyvern-frontend/src/routes/workflows/RunWorkflowForm.tsx +++ b/skyvern-frontend/src/routes/workflows/RunWorkflowForm.tsx @@ -1,5 +1,4 @@ import { getClient } from "@/api/AxiosClient"; -import { WorkflowParameter } from "@/api/types"; import { Form, FormControl, FormField, FormItem } from "@/components/ui/form"; import { useCredentialGetter } from "@/hooks/useCredentialGetter"; import { useMutation, useQueryClient } from "@tanstack/react-query"; @@ -22,6 +21,7 @@ import fetchToCurl from "fetch-to-curl"; import { apiBaseUrl } from "@/util/env"; import { useApiCredential } from "@/hooks/useApiCredential"; import { copyText } from "@/util/copyText"; +import { WorkflowParameter } from "./types/workflowTypes"; type Props = { workflowParameters: Array; @@ -152,6 +152,9 @@ function RunWorkflowForm({ workflowParameters, initialValues }: Props) { return "Invalid JSON"; } } + if (value === null) { + return "This field is required"; + } }, }} render={({ field }) => { diff --git a/skyvern-frontend/src/routes/workflows/WorkflowRunParameters.tsx b/skyvern-frontend/src/routes/workflows/WorkflowRunParameters.tsx index c9f53aa36..c82ce04fe 100644 --- a/skyvern-frontend/src/routes/workflows/WorkflowRunParameters.tsx +++ b/skyvern-frontend/src/routes/workflows/WorkflowRunParameters.tsx @@ -1,9 +1,12 @@ import { getClient } from "@/api/AxiosClient"; -import { WorkflowApiResponse, WorkflowParameterValueType } from "@/api/types"; import { useCredentialGetter } from "@/hooks/useCredentialGetter"; import { useQuery } from "@tanstack/react-query"; import { useLocation, useParams } from "react-router-dom"; import { RunWorkflowForm } from "./RunWorkflowForm"; +import { + WorkflowApiResponse, + WorkflowParameterValueType, +} from "./types/workflowTypes"; function defaultValue(type: WorkflowParameterValueType) { switch (type) {