diff --git a/frontend/src/views/classes/UserClasses.vue b/frontend/src/views/classes/UserClasses.vue index c78f12e3..fd263aff 100644 --- a/frontend/src/views/classes/UserClasses.vue +++ b/frontend/src/views/classes/UserClasses.vue @@ -2,6 +2,8 @@ import { useI18n } from "vue-i18n"; import authState from "@/services/auth/auth-service.ts"; import { ref, watch } from "vue"; + import { validate, version } from "uuid"; + const { t } = useI18n(); const role: String = authState.authState.activeRole!; @@ -42,17 +44,25 @@ const classes: Array = [class01, class02, class03]; - const code = ref(""); - console.log(code); + const valid = ref(false); + const code = ref(""); + const codeRules = [ + (value: string | undefined) => { + if (value !== undefined && validate(value) && version(value) === 4) return true; + return "Invalid format."; + }, + ]; watch(code, (newValue) => { - console.log("Code changed:", newValue); + if (code.value !== undefined && validate(code.value) && version(code.value) == 4) { + console.log("Code changed:", newValue); + } }); // handle dialog for showing members of a class const dialog = ref(false); const students = ref>([]); const selectedClass = ref(null); - + const openDialog = (c: Class) => { selectedClass.value = c; if (selectedClass !== undefined) { @@ -64,44 +74,29 @@