diff --git a/superset-frontend/src/features/databases/DatabaseModal/DatabaseConnectionForm/CommonParameters.tsx b/superset-frontend/src/features/databases/DatabaseModal/DatabaseConnectionForm/CommonParameters.tsx index 7078b49cbc8d..7b52eab26ca2 100644 --- a/superset-frontend/src/features/databases/DatabaseModal/DatabaseConnectionForm/CommonParameters.tsx +++ b/superset-frontend/src/features/databases/DatabaseModal/DatabaseConnectionForm/CommonParameters.tsx @@ -49,6 +49,7 @@ export const hostField = ({ onChange={changeMethods.onParametersChange} /> ); + export const portField = ({ required, changeMethods, @@ -255,6 +256,7 @@ export const forceSSLField = ({ export const SSHTunnelSwitch = ({ isEditMode, changeMethods, + clearValidationErrors, db, }: FieldPropTypes) => (
infoTooltip(theme)}> @@ -270,6 +272,7 @@ export const SSHTunnelSwitch = ({ value: changed, }, }); + clearValidationErrors(); }} data-test="ssh-tunnel-switch" /> diff --git a/superset-frontend/src/features/databases/DatabaseModal/DatabaseConnectionForm/index.tsx b/superset-frontend/src/features/databases/DatabaseModal/DatabaseConnectionForm/index.tsx index 5dce73206f15..e747b3c8959f 100644 --- a/superset-frontend/src/features/databases/DatabaseModal/DatabaseConnectionForm/index.tsx +++ b/superset-frontend/src/features/databases/DatabaseModal/DatabaseConnectionForm/index.tsx @@ -79,6 +79,7 @@ export interface FieldPropTypes { }; validationErrors: JsonObject | null; getValidation: () => void; + clearValidationErrors: () => void; db?: DatabaseObject; field: string; isEditMode?: boolean; @@ -132,6 +133,7 @@ interface DatabaseConnectionFormProps { onRemoveTableCatalog: (idx: number) => void; validationErrors: JsonObject | null; getValidation: () => void; + clearValidationErrors: () => void; getPlaceholder?: (field: string) => string | undefined; } @@ -151,6 +153,7 @@ const DatabaseConnectionForm = ({ onRemoveTableCatalog, sslForced, validationErrors, + clearValidationErrors, }: DatabaseConnectionFormProps) => (
= ({ getValidation={() => getValidation(db)} validationErrors={validationErrors} getPlaceholder={getPlaceholder} + clearValidationErrors={() => setValidationErrors(null)} /> {db?.parameters?.ssh && ( {renderSSHTunnelForm()}