From 264f9f84ed55e180d33a200e1ac4fba6afe12a3a Mon Sep 17 00:00:00 2001 From: Girish Ramakrishnan Date: Mon, 1 Dec 2025 14:21:45 +0100 Subject: [PATCH] mailbox owner is required --- dashboard/src/components/MailboxDialog.vue | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/dashboard/src/components/MailboxDialog.vue b/dashboard/src/components/MailboxDialog.vue index 4cc9b307a..cd6df1a31 100644 --- a/dashboard/src/components/MailboxDialog.vue +++ b/dashboard/src/components/MailboxDialog.vue @@ -44,7 +44,15 @@ async function onRemoveAlias(index) { aliases.value.splice(index, 1); } +const form = useTemplateRef('form'); +const isFormValid = ref(false); +function validateForm() { + isFormValid.value = form.value && form.value.checkValidity(); +} + async function onSubmit() { + if (!form.value.reportValidity()) return; + busy.value = true; formError.value = ''; @@ -133,6 +141,8 @@ defineExpose({ }); dialog.value.open(); + + setTimeout(validateForm, 100); // update state of the confirm button } }); @@ -143,23 +153,22 @@ defineExpose({ :title="mailbox ? $t('email.editMailboxDialog.title') : $t('email.addMailboxDialog.title')" :confirm-label="$t(mailbox ? 'main.dialog.save' : 'email.incoming.mailboxes.addAction')" :confirm-busy="busy" - :confirm-active="!busy && name !== '' && domain !== ''" + :confirm-active="!busy && isFormValid" reject-style="secondary" :reject-label="$t('main.dialog.cancel')" :reject-active="!busy" @confirm="onSubmit()" >
- -
+
- - + +
{{ $t('email.addMailboxDialog.incomingDisabledWarning') }}
{{ formError }}
@@ -167,7 +176,7 @@ defineExpose({ - +