Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/marius-wieschollek/passwords-webextension.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarius David Wieschollek <passwords.public@mdns.eu>2022-04-18 00:57:56 +0300
committerMarius David Wieschollek <passwords.public@mdns.eu>2022-04-18 00:57:56 +0300
commitff93c036ded896c323772c8e5ef7d4dd923ade09 (patch)
treec48456f563aa91c2fdaf9c4167cea620fe1fce1f
parentcb945b86ee1e32c3a2b7b104fad5a1c3c5c208cf (diff)
[#224] Show form invalidation messages
Signed-off-by: Marius David Wieschollek <passwords.public@mdns.eu>
-rw-r--r--src/vue/Components/Accounts/Account.vue29
-rw-r--r--src/vue/Components/Accounts/NewAccount.vue2
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"/>