From b71f58d7d8fb36cd84e6fa71b3894475e9fd605a Mon Sep 17 00:00:00 2001 From: Martin Morales Date: Thu, 23 Mar 2023 18:47:05 -0500 Subject: [PATCH] Fix EntityPicker allowing clear value when required #16993 Signed-off-by: Martin Morales --- .changeset/long-ravens-listen.md | 5 +++++ .../src/components/fields/EntityPicker/EntityPicker.tsx | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 .changeset/long-ravens-listen.md 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.