diff --git a/frontend/src/table/DialogWindow.vue b/frontend/src/table/DialogWindow.vue index e269aac..8a8c432 100644 --- a/frontend/src/table/DialogWindow.vue +++ b/frontend/src/table/DialogWindow.vue @@ -37,7 +37,7 @@ const emits = defineEmits<{ async function handleSave() { const mode = props.updateMode ? 'update' : 'create'; - const result = props.validate(createItem.value as T, mode); + const result = await props.validate(createItem.value as T, mode); if (result.status === 'error') { errorStore.summon(result.message); return; diff --git a/frontend/src/types/validate.type.ts b/frontend/src/types/validate.type.ts index ee1e765..0265754 100644 --- a/frontend/src/types/validate.type.ts +++ b/frontend/src/types/validate.type.ts @@ -1,3 +1,5 @@ import type { IEntity } from "./entity.type"; -export type Validate = (data: T, mode: "update" | "create") => { status: "error" | "success", message?: string } \ No newline at end of file +export type ValidateResult = { status: "error" | "success", message?: string } + +export type Validate = (data: T, mode: "update" | "create") => ValidateResult | Promise \ No newline at end of file