From b641c3211fa3eac867f245b1d33ee1614ac8fbc6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bjo=CC=88rn=20Fromme?= Date: Tue, 27 Nov 2018 11:36:02 +0100 Subject: [PATCH] Add form validation --- .../Assets/js/myep/components/Address.vue | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/web/typo3conf/ext/ep_theme/Resources/Private/Assets/js/myep/components/Address.vue b/web/typo3conf/ext/ep_theme/Resources/Private/Assets/js/myep/components/Address.vue index 473145b6..02bc10ab 100644 --- a/web/typo3conf/ext/ep_theme/Resources/Private/Assets/js/myep/components/Address.vue +++ b/web/typo3conf/ext/ep_theme/Resources/Private/Assets/js/myep/components/Address.vue @@ -108,7 +108,16 @@ data () { return { picker: null, - address: {} + address: {}, + requiredFields: [ + { field: 'name', label: 'Name' }, + { field: 'firstName', label: 'Vorname' }, + { field: 'street', label: 'Straße' }, + { field: 'zipCode', label: 'PLZ' }, + { field: 'city', label: 'Stadt' }, + { field: 'country', label: 'Land' }, + { field: 'email', label: 'E-Mail' } + ] } }, created () { @@ -136,6 +145,17 @@ }); }, saveAddress () { + for (const entry of this.requiredFields) + { + if (!this.address[entry.field]) { + this.$store.commit('alert', { + message: 'Bitte das Feld "' + entry.label + '" ausfüllen', + class: 'alert-danger' + }); + EventBus.$emit('scrollTo', '#myep-main'); + return false; + } + } this.$store.dispatch('address/save', this.address) .then(() => { EventBus.$emit('scrollTo', '#myep-main');