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,
};