diff --git a/.changeset/long-ravens-listen.md b/.changeset/long-ravens-listen.md new file mode 100644 index 0000000000..8300c12f77 --- /dev/null +++ b/.changeset/long-ravens-listen.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-scaffolder': minor +--- + +Fixed bug in EntityPicker component that allowed for empty values when field is required. This bug occurs only after a user fills the EntityPicker field, clears it, and then continues to the next form step. diff --git a/plugins/scaffolder/src/components/fields/EntityPicker/EntityPicker.tsx b/plugins/scaffolder/src/components/fields/EntityPicker/EntityPicker.tsx index aeb4a52f77..e19e27641c 100644 --- a/plugins/scaffolder/src/components/fields/EntityPicker/EntityPicker.tsx +++ b/plugins/scaffolder/src/components/fields/EntityPicker/EntityPicker.tsx @@ -96,7 +96,8 @@ export const EntityPicker = (props: EntityPickerProps) => { (_: any, ref: string | Entity | null, reason: AutocompleteChangeReason) => { // ref can either be a string from free solo entry or if (typeof ref !== 'string') { - onChange(ref ? stringifyEntityRef(ref as Entity) : ''); + // if ref does not exist: pass 'undefined' to trigger validation for non-free solo entries + onChange(ref ? stringifyEntityRef(ref as Entity) : undefined); } else { if (reason === 'blur' || reason === 'create-option') { // Add in default namespace, etc.