From bf7c0a844585d2852cef3391bb762bd41eca7935 Mon Sep 17 00:00:00 2001 From: riqo Date: Fri, 12 Feb 2021 13:23:01 -0600 Subject: [PATCH] add register form validation --- src/views/register.vue | 51 ++++++++++++++++++++++++++++++------------ 1 file changed, 37 insertions(+), 14 deletions(-) diff --git a/src/views/register.vue b/src/views/register.vue index baeaa6a..9b8e673 100644 --- a/src/views/register.vue +++ b/src/views/register.vue @@ -6,22 +6,24 @@ -
+
- + - + - -
+ + + + - - + + @@ -55,6 +57,24 @@ export default defineComponent({ const { setToken } = useAuth(); const router = useRouter(); + const re = /^(([^<>()\[\]\.,;:\s@\"]+(\.[^<>()\[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i; + + const passwordMatch = () => { + let match = false; + if (password.value == password2.value) { + match = true; + } + return match; + } + + const validate = () => { + let valid = false; + if (re.test(email.value) && passwordMatch()) { + valid = true; + } + return valid; + } + const submit = async () => { const payload: RegisterPayload = { @@ -62,13 +82,15 @@ export default defineComponent({ email: email.value, password: password.value, }; - - try { - await invoke(payload); - setToken(data.value, true); - router.push({ name: "home" }); - } catch(e) { - console.log('Failed to register.') + + if (validate()) { + try { + await invoke(payload); + setToken(data.value, true); + router.push({ name: "home" }); + } catch(e) { + console.log('Failed to register.') + } } }; @@ -79,6 +101,7 @@ export default defineComponent({ return { email, password, + password2, switchView, submit, }; -- 2.43.0