Fixed min. required example for edit.

pull/110/head
s8613 2025-07-01 19:09:48 +02:00
parent 810827e0bb
commit be165144ad
1 changed files with 67 additions and 53 deletions

View File

@ -73,10 +73,10 @@ export function KPIForm({
setSnackbarMessage("Name ist erforderlich");
setSnackbarSeverity("error");
setSnackbarOpen(true);
return;
}
if (mode === "add") {
if (!formData.examples || formData.examples.length === 0) {
setSnackbarMessage("Mindestens ein Beispielsatz ist erforderlich");
setSnackbarSeverity("error");
@ -96,18 +96,27 @@ export function KPIForm({
setSnackbarOpen(true);
return;
}
}
for (const ex of newExamples) {
const newExamples = (formData.examples || []).filter(
(ex) => ex.sentence?.trim() && ex.value?.trim(),
);
if (formData.examples && formData.examples.length > 0) {
for (const ex of formData.examples) {
if (!ex.sentence?.trim() && !ex.value?.trim()) continue;
if (!ex.sentence?.trim() || !ex.value?.trim()) {
setSnackbarMessage("Alle Beispielsätze müssen vollständig sein.");
setSnackbarMessage("Alle Beispielsätze müssen vollständig sein oder leer gelassen werden.");
setSnackbarSeverity("error");
setSnackbarOpen(true);
return;
}
}
}
setIsSaving(true);
try {
if (newExamples.length > 0) {
const spacyEntries = generateSpacyEntries({
...formData,
examples: newExamples,
@ -143,6 +152,7 @@ export function KPIForm({
console.log("SpaCy-Eintrag gespeichert:", data);
}
}
const allExamples =
mode === "edit" ? [...originalExamples, ...newExamples] : newExamples;
@ -167,9 +177,13 @@ export function KPIForm({
}));
}
setSnackbarMessage(
"Beispielsätze gespeichert. Jetzt auf -Neu trainieren- klicken oder weitere Kennzahlen hinzufügen.",
);
const successMessage = newExamples.length > 0
? "Beispielsätze gespeichert. Jetzt auf -Neu trainieren- klicken oder weitere Kennzahlen hinzufügen."
: mode === "edit"
? "Kennzahl erfolgreich aktualisiert."
: "Kennzahl erfolgreich erstellt.";
setSnackbarMessage(successMessage);
setSnackbarSeverity("success");
setSnackbarOpen(true);
} catch (e: any) {