diff --git a/src/server/plugins/engine/components/FileUploadField.test.ts b/src/server/plugins/engine/components/FileUploadField.test.ts index 053b5f1ad..870f75160 100644 --- a/src/server/plugins/engine/components/FileUploadField.test.ts +++ b/src/server/plugins/engine/components/FileUploadField.test.ts @@ -648,6 +648,29 @@ describe('FileUploadField', () => { } ] }, + { + description: 'Schema default min', + component: { + title: 'Example file upload field', + name: 'myComponent', + type: ComponentType.FileUploadField, + options: {}, + schema: {} + } satisfies FileUploadFieldComponent, + assertions: [ + { + input: getFormData([]), + output: { + value: getFormData([]), + errors: [ + expect.objectContaining({ + text: 'Example file upload field must contain at least 1 items' + }) + ] + } + } + ] + }, { description: 'Schema length', component: { diff --git a/src/server/plugins/engine/components/FileUploadField.ts b/src/server/plugins/engine/components/FileUploadField.ts index 4a6ff220c..c1696167f 100644 --- a/src/server/plugins/engine/components/FileUploadField.ts +++ b/src/server/plugins/engine/components/FileUploadField.ts @@ -134,6 +134,8 @@ export class FileUploadField extends FormComponent { if (typeof schema.min === 'number') { formSchema = formSchema.min(schema.min) + } else if (options.required !== false) { + formSchema = formSchema.min(1) } } else { formSchema = formSchema.length(schema.length)