diff options
author | Marius David Wieschollek <passwords.public@mdns.eu> | 2022-04-18 00:57:56 +0300 |
---|---|---|
committer | Marius David Wieschollek <passwords.public@mdns.eu> | 2022-04-18 00:57:56 +0300 |
commit | ff93c036ded896c323772c8e5ef7d4dd923ade09 (patch) | |
tree | c48456f563aa91c2fdaf9c4167cea620fe1fce1f | |
parent | cb945b86ee1e32c3a2b7b104fad5a1c3c5c208cf (diff) |
[#224] Show form invalidation messages
Signed-off-by: Marius David Wieschollek <passwords.public@mdns.eu>
-rw-r--r-- | src/vue/Components/Accounts/Account.vue | 29 | ||||
-rw-r--r-- | src/vue/Components/Accounts/NewAccount.vue | 2 |
2 files changed, 18 insertions, 13 deletions
diff --git a/src/vue/Components/Accounts/Account.vue b/src/vue/Components/Accounts/Account.vue index 0891b89..bf6c447 100644 --- a/src/vue/Components/Accounts/Account.vue +++ b/src/vue/Components/Accounts/Account.vue @@ -14,7 +14,7 @@ <translate tag="label" :for="`${id}-label`" say="ServerLabel" required/> <input type="text" :id="`${id}-label`" v-model="label"/> <translate tag="label" :for="`${id}-url`" say="ServerBaseUrl" required/> - <input type="text" :id="`${id}-url`" v-model="url"/> + <input type="url" pattern="https://.+" :id="`${id}-url`" v-model="url"/> <translate tag="label" :for="`${id}-user`" say="ServerUser" required/> <input type="text" :id="`${id}-user`" v-model="user"/> <translate tag="label" :for="`${id}-token`" say="ServerToken" required/> @@ -79,19 +79,19 @@ async save() { if(!this.$el.reportValidity() || this.submitting) return; - this.submitting = true; - this.server - .setLabel(this.label) - .setBaseUrl(this.url) - .setTimeout(this.timeout) - .setUser(this.user); - - if(this.changeToken) { - this.server.setToken(this.token); - } - let message; try { + this.submitting = true; + this.server + .setLabel(this.label) + .setBaseUrl(this.url) + .setTimeout(this.timeout) + .setUser(this.user); + + if(this.changeToken) { + this.server.setToken(this.token); + } + message = await MessageService.send( { type : 'server.update', @@ -157,6 +157,7 @@ background-color : var(--warning-bg-color); color : var(--warning-fg-color); } + &.server-error { background-color : var(--error-bg-color); color : var(--error-fg-color); @@ -177,6 +178,10 @@ cursor : default; } } + + input:invalid { + box-shadow : 0 0 .5rem .25rem var(--error-bg-color); + } } } </style>
\ No newline at end of file diff --git a/src/vue/Components/Accounts/NewAccount.vue b/src/vue/Components/Accounts/NewAccount.vue index 1aa9842..7e7af6e 100644 --- a/src/vue/Components/Accounts/NewAccount.vue +++ b/src/vue/Components/Accounts/NewAccount.vue @@ -4,7 +4,7 @@ <translate tag="label" for="new-name" say="ServerLabel"/> <input type="text" id="new-name" v-model="label" required/> <translate tag="label" for="new-url" say="ServerBaseUrl"/> - <input type="text" id="new-url" v-model="baseUrl" required/> + <input type="url" pattern="https://.+" id="new-url" v-model="baseUrl" required/> <translate tag="label" for="new-user" say="ServerUser"/> <input type="text" id="new-user" v-model="user" required/> <translate tag="label" for="new-token" say="ServerToken"/> |