From 227f9f7ff76f9d8a25beeebcd5f4d93428a25fd6 Mon Sep 17 00:00:00 2001 From: Vitalii Kulyk Date: Wed, 29 Jan 2025 10:54:37 +0200 Subject: [PATCH] fix: correct custom component validity and emptiness watching --- adminforth/spa/src/components/GroupsTable.vue | 4 ++-- adminforth/spa/src/components/ResourceForm.vue | 9 +++++---- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/adminforth/spa/src/components/GroupsTable.vue b/adminforth/spa/src/components/GroupsTable.vue index b0194bbea..e3a1da00e 100644 --- a/adminforth/spa/src/components/GroupsTable.vue +++ b/adminforth/spa/src/components/GroupsTable.vue @@ -129,11 +129,11 @@ arrayItemRefs.value[arrayItemRefs.value.length - 1].focus(); } - watch(customComponentsInValidity, (newVal) => { + watch(customComponentsInValidity.value, (newVal) => { emit('update:customComponentsInValidity', newVal); }); - watch(customComponentsEmptiness, (newVal) => { + watch(customComponentsEmptiness.value, (newVal) => { emit('update:customComponentsEmptiness', newVal); }); diff --git a/adminforth/spa/src/components/ResourceForm.vue b/adminforth/spa/src/components/ResourceForm.vue index bb5fd1af1..de1a1fdb3 100644 --- a/adminforth/spa/src/components/ResourceForm.vue +++ b/adminforth/spa/src/components/ResourceForm.vue @@ -95,16 +95,16 @@ const columnError = (column) => { if (!currentValues.value) { return null; } - if (customComponentsInValidity.value[column.name]) { - return customComponentsInValidity.value[column.name]; + if (customComponentsInValidity.value?.value?.[column.name]) { + return customComponentsInValidity.value?.value?.[column.name]; } - + if ( column.required[mode.value] && (currentValues.value[column.name] === undefined || currentValues.value[column.name] === null || currentValues.value[column.name] === '' || (column.isArray?.enabled && !currentValues.value[column.name].length)) && // if component is custum it might tell other criteria for emptiness by emitting 'update:emptiness' // components which do not emit 'update:emptiness' will have undefined value in customComponentsEmptiness - (customComponentsEmptiness.value[column.name] !== false) + (customComponentsEmptiness.value?.value?.[column.name] !== false) ) { return t('This field is required'); @@ -130,6 +130,7 @@ const columnError = (column) => { return validateValue(column.type, currentValues.value[column.name], column); } + return null; }); return val.value; };