diff --git a/airbyte-webapp/src/core/jsonSchema/schemaToYup.test.ts b/airbyte-webapp/src/core/jsonSchema/schemaToYup.test.ts index 095b6370aec4..ca85400f3b69 100644 --- a/airbyte-webapp/src/core/jsonSchema/schemaToYup.test.ts +++ b/airbyte-webapp/src/core/jsonSchema/schemaToYup.test.ts @@ -73,6 +73,9 @@ it("should build schema for conditional case", () => { start_date: { type: "string", }, + max_objects: { + type: "number", + }, credentials: { type: "object", oneOf: [ @@ -104,6 +107,7 @@ it("should build schema for conditional case", () => { const expectedSchema = yup.object().shape({ start_date: yup.string().trim().required("form.empty.error").transform(String), + max_objects: yup.number().transform((x) => x), credentials: yup.object().shape({ api_key: yup.string().trim().required("form.empty.error").transform(String), }), diff --git a/airbyte-webapp/src/core/jsonSchema/schemaToYup.ts b/airbyte-webapp/src/core/jsonSchema/schemaToYup.ts index fcb3d645d8ed..433199089f67 100644 --- a/airbyte-webapp/src/core/jsonSchema/schemaToYup.ts +++ b/airbyte-webapp/src/core/jsonSchema/schemaToYup.ts @@ -68,6 +68,7 @@ export const buildYupFormForJsonSchema = ( schema = yup.boolean(); break; case "integer": + case "number": schema = yup.number().transform((value) => (isNaN(value) ? undefined : value)); if (jsonSchema?.minimum !== undefined) {