diff --git a/web/components/integration/jira/give-details.tsx b/web/components/integration/jira/give-details.tsx index efeca487a..0d90ba0a5 100644 --- a/web/components/integration/jira/give-details.tsx +++ b/web/components/integration/jira/give-details.tsx @@ -7,6 +7,8 @@ import { Plus } from "lucide-react"; import { useApplication, useProject } from "hooks/store"; // components import { CustomSelect, Input } from "@plane/ui"; +// helpers +import { checkEmailValidity } from "helpers/string.helper"; // types import { IJiraImporterForm } from "@plane/types"; @@ -46,17 +48,18 @@ export const JiraGetImportDetail: React.FC = observer(() => { render={({ field: { value, onChange, ref } }) => ( )} /> + {errors.metadata?.api_token &&

{errors.metadata.api_token.message}

} @@ -75,7 +78,6 @@ export const JiraGetImportDetail: React.FC = observer(() => { render={({ field: { value, onChange, ref } }) => ( { /> )} /> + {errors.metadata?.project_key && ( +

{errors.metadata.project_key.message}

+ )} @@ -100,11 +105,11 @@ export const JiraGetImportDetail: React.FC = observer(() => { name="metadata.email" rules={{ required: "Please enter email address.", + validate: (value) => checkEmailValidity(value) || "Please enter a valid email address", }} render={({ field: { value, onChange, ref } }) => ( { /> )} /> + {errors.metadata?.email &&

{errors.metadata.email.message}

} @@ -129,12 +135,11 @@ export const JiraGetImportDetail: React.FC = observer(() => { name="metadata.cloud_hostname" rules={{ required: "Please enter your cloud host name.", + validate: (value) => !/^https?:\/\//.test(value) || "Hostname should not begin with http:// or https://", }} render={({ field: { value, onChange, ref } }) => ( { /> )} /> + {errors.metadata?.cloud_hostname && ( +

{errors.metadata.cloud_hostname.message}

+ )}