diff --git a/aleksis/apps/alsijil/frontend/components/coursebook/Coursebook.vue b/aleksis/apps/alsijil/frontend/components/coursebook/Coursebook.vue
index bf9d99bd2bf8d49715c823c26dc1393d1df2d1cd..60e4dae7296990fe6f4cc4f18df3aac35a579e62 100644
--- a/aleksis/apps/alsijil/frontend/components/coursebook/Coursebook.vue
+++ b/aleksis/apps/alsijil/frontend/components/coursebook/Coursebook.vue
@@ -56,7 +56,7 @@
           :subjects="subjects"
           :documentation="item"
           :affected-query="lastQuery"
-          :value="(selectedParticipations[item.id] ??= [])"
+          :value="selectedParticipations[item.id] ??= []"
           @input="selectParticipation(item.id, $event)"
         />
       </template>
@@ -69,9 +69,7 @@
         <DocumentationLoader />
       </template>
     </infinite-scrolling-date-sorted-c-r-u-d-iterator>
-    <absence-creation-dialog
-      :absence-reasons="absenceReasons"
-    />
+    <absence-creation-dialog :absence-reasons="absenceReasons" />
   </div>
 </template>
 
diff --git a/aleksis/apps/alsijil/frontend/components/coursebook/absences/AbsenceCreationForm.vue b/aleksis/apps/alsijil/frontend/components/coursebook/absences/AbsenceCreationForm.vue
index 6da4703e4855f19291bc45914d5be97804204260..19dc5721608145010d96a7bbcbd0a8a6051e5e32 100644
--- a/aleksis/apps/alsijil/frontend/components/coursebook/absences/AbsenceCreationForm.vue
+++ b/aleksis/apps/alsijil/frontend/components/coursebook/absences/AbsenceCreationForm.vue
@@ -1,5 +1,5 @@
 <template>
-  <v-form @input="$emit('valid', $event)">
+  <v-form ref="form" @input="$emit('valid', $event)">
     <v-container>
       <v-row>
         <div aria-required="true" class="full-width">
@@ -148,17 +148,27 @@ export default {
       const parsedStart = DateTime.fromISO(startDate);
       const parsedEnd = DateTime.fromISO(this.endDate);
       if (parsedStart >= parsedEnd) {
-        this.$emit('end-date', parsedStart.plus({ minutes: 5 }).toISO({ suppressSeconds: true }));
+        this.$emit(
+          "end-date",
+          parsedStart.plus({ minutes: 5 }).toISO({ suppressSeconds: true }),
+        );
       }
-      this.$emit('start-date', startDate);
+      this.$emit("start-date", startDate);
+      this.$refs.form.resetValidation();
+      this.$refs.form.validate();
     },
     handleEndDate(endDate) {
       const parsedStart = DateTime.fromISO(this.startDate);
       const parsedEnd = DateTime.fromISO(endDate);
       if (parsedEnd <= parsedStart) {
-        this.$emit('start-date', parsedEnd.minus({ minutes: 5 }).toISO({ suppressSeconds: true }));
+        this.$emit(
+          "start-date",
+          parsedEnd.minus({ minutes: 5 }).toISO({ suppressSeconds: true }),
+        );
       }
-      this.$emit('end-date', endDate);
+      this.$emit("end-date", endDate);
+      this.$refs.form.resetValidation();
+      this.$refs.form.validate();
     },
   },
 };