From b0520350468d002220160e33d8b3fe19d6c49110 Mon Sep 17 00:00:00 2001 From: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com> Date: Thu, 18 Dec 2025 08:41:47 -0600 Subject: [PATCH] don't allow "none" as a classification class name --- web/public/locales/en/views/classificationModel.json | 1 + .../classification/wizard/Step1NameAndDefine.tsx | 10 +++++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/web/public/locales/en/views/classificationModel.json b/web/public/locales/en/views/classificationModel.json index 96bf0284b..a07114b5c 100644 --- a/web/public/locales/en/views/classificationModel.json +++ b/web/public/locales/en/views/classificationModel.json @@ -139,6 +139,7 @@ "nameOnlyNumbers": "Model name cannot contain only numbers", "classRequired": "At least 1 class is required", "classesUnique": "Class names must be unique", + "noneNotAllowed": "The class 'none' is not allowed", "stateRequiresTwoClasses": "State models require at least 2 classes", "objectLabelRequired": "Please select an object label", "objectTypeRequired": "Please select a classification type" diff --git a/web/src/components/classification/wizard/Step1NameAndDefine.tsx b/web/src/components/classification/wizard/Step1NameAndDefine.tsx index d5ee430eb..a4cdc4867 100644 --- a/web/src/components/classification/wizard/Step1NameAndDefine.tsx +++ b/web/src/components/classification/wizard/Step1NameAndDefine.tsx @@ -94,7 +94,14 @@ export default function Step1NameAndDefine({ objectLabel: z.string().optional(), objectType: z.enum(["sub_label", "attribute"]).optional(), classes: z - .array(z.string()) + .array( + z + .string() + .refine( + (val) => val.trim().toLowerCase() !== "none", + t("wizard.step1.errors.noneNotAllowed"), + ), + ) .min(1, t("wizard.step1.errors.classRequired")) .refine( (classes) => { @@ -467,6 +474,7 @@ export default function Step1NameAndDefine({ )} + )} />