diff --git a/src/main/java/no/ntnu/idatt1002/demo/controller/AddBudgetController.java b/src/main/java/no/ntnu/idatt1002/demo/controller/AddBudgetController.java
index c0f0a7e41df8a1cddb4b1acb63033f44d23015f8..6a9891f542882a0cbb85ee83b64deef963a64d64 100644
--- a/src/main/java/no/ntnu/idatt1002/demo/controller/AddBudgetController.java
+++ b/src/main/java/no/ntnu/idatt1002/demo/controller/AddBudgetController.java
@@ -112,6 +112,7 @@ public class AddBudgetController {
      * Closes the dialog box.
      * @param actionEvent A button click on the close button.
      */
+    @FXML
     private void closeButton(ActionEvent actionEvent) {
         final Node source = (Node) actionEvent.getSource();
         final Stage stage = (Stage) source.getScene().getWindow();
diff --git a/src/main/java/no/ntnu/idatt1002/demo/controller/AddIncomeController.java b/src/main/java/no/ntnu/idatt1002/demo/controller/AddIncomeController.java
index 9c96a53cf7296065ad834b4aeafa223aa9916004..a1eebbbc5bf7160f3ad7a8141f794bb2b56dcfe5 100644
--- a/src/main/java/no/ntnu/idatt1002/demo/controller/AddIncomeController.java
+++ b/src/main/java/no/ntnu/idatt1002/demo/controller/AddIncomeController.java
@@ -14,6 +14,7 @@ import javafx.scene.control.Button;
 import javafx.scene.control.ComboBox;
 import javafx.scene.control.DatePicker;
 import javafx.scene.control.TextField;
+import javafx.scene.text.Text;
 import javafx.stage.Stage;
 import no.ntnu.idatt1002.demo.data.Economics.Expense;
 import no.ntnu.idatt1002.demo.data.Economics.Income;
@@ -36,6 +37,8 @@ public class AddIncomeController {
   @FXML
   private Button okBtn;
 
+  @FXML
+  private Text errorMsg;
   @FXML
   private DatePicker datePicker;
 
@@ -72,6 +75,8 @@ public class AddIncomeController {
 
     //Set date to today
     datePicker.setValue(LocalDate.now());
+
+    addEventFilters();
   }
 
   public IncomeCategory getCategory() {
@@ -121,7 +126,7 @@ public class AddIncomeController {
   @FXML
   public void pressOkBtn(ActionEvent event) {
     //Instantiates a new income
-    if (chosenIncome == null) {
+    if (newIncome == null) {
       LocalDate date = datePicker.getValue();
       double amount = Double.parseDouble(amountField.getText());
       String description = descriptionField.getText();
@@ -142,6 +147,26 @@ public class AddIncomeController {
     ((Stage) source.getScene().getWindow()).close();
   }
 
+  private void addEventFilters() {
+    okBtn.addEventFilter(
+        ActionEvent.ACTION, event -> {
+          if (!validateInputs()) {
+            event.consume();
+            errorMsg.setOpacity(1);
+          }
+        });
+  }
+  private boolean validateInputs() {
+    try {
+      Income income = new Income(
+          Double.parseDouble(amountField.getText()), recurringBox.getValue(),
+          categoryBox.getValue(), datePicker.getValue());
+    } catch (IllegalArgumentException e) {
+      System.out.println("ok");
+      return false;
+    }
+    return true;
+  }
 
   /**
    * Closes the dialog box and cancels any pending changes.
diff --git a/src/main/resources/view/AddIncome.fxml b/src/main/resources/view/AddIncome.fxml
index abdfe7c23fbc862d64b6015d99064875cfd22693..b4167b447dd954b4062a0efb37e4790c9b7d582c 100644
--- a/src/main/resources/view/AddIncome.fxml
+++ b/src/main/resources/view/AddIncome.fxml
@@ -11,6 +11,8 @@
 <?import javafx.scene.layout.GridPane?>
 <?import javafx.scene.layout.HBox?>
 <?import javafx.scene.layout.RowConstraints?>
+<?import javafx.scene.text.Font?>
+<?import javafx.scene.text.Text?>
 
 <DialogPane expanded="true" xmlns="http://javafx.com/javafx/19" xmlns:fx="http://javafx.com/fxml/1" fx:controller="no.ntnu.idatt1002.demo.controller.AddIncomeController">
    <content>
@@ -27,27 +29,62 @@
             <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
             <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
             <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
+            <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
+            <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
          </rowConstraints>
          <children>
-            <Label text="Date:" />
-            <Label text="Amount:" GridPane.rowIndex="1" />
-            <Label text="Description:" GridPane.rowIndex="2" />
-            <Label text="Category" GridPane.rowIndex="3" />
-            <Label text="Recurring" GridPane.rowIndex="4" />
+            <Label text="Date:">
+               <font>
+                  <Font name="Lucida Console" size="12.0" />
+               </font>
+            </Label>
+            <Label text="Amount:" GridPane.rowIndex="1">
+               <font>
+                  <Font name="Lucida Console" size="12.0" />
+               </font>
+            </Label>
+            <Label text="Description:" GridPane.rowIndex="2">
+               <font>
+                  <Font name="Lucida Console" size="12.0" />
+               </font>
+            </Label>
+            <Label text="Category: " GridPane.rowIndex="3">
+               <font>
+                  <Font name="Lucida Console" size="12.0" />
+               </font>
+            </Label>
+            <Label text="Recurring: " GridPane.rowIndex="4">
+               <font>
+                  <Font name="Lucida Console" size="12.0" />
+               </font>
+            </Label>
             <TextField fx:id="amountField" promptText="100" GridPane.columnIndex="1" GridPane.rowIndex="1" />
             <TextField fx:id="descriptionField" promptText="(optional)" GridPane.columnIndex="1" GridPane.rowIndex="2" />
-            <ComboBox fx:id="categoryBox" prefWidth="150.0" promptText="Choose" GridPane.columnIndex="1" GridPane.rowIndex="3" />
+            <ComboBox fx:id="categoryBox" prefWidth="150.0" promptText="Food" GridPane.columnIndex="1" GridPane.rowIndex="3" />
             <ComboBox fx:id="recurringBox" prefWidth="150.0" promptText="No" GridPane.columnIndex="1" GridPane.rowIndex="4" />
-            <HBox alignment="BOTTOM_RIGHT" prefHeight="100.0" prefWidth="200.0" spacing="10.0" GridPane.columnIndex="1" GridPane.columnSpan="2" GridPane.rowIndex="5">
+            <HBox alignment="BOTTOM_RIGHT" prefHeight="100.0" prefWidth="200.0" spacing="10.0" GridPane.columnIndex="1" GridPane.columnSpan="2" GridPane.rowIndex="7">
                <children>
-                  <Button fx:id="cancelBtn" mnemonicParsing="false" onAction="#pressCancelBtn" prefHeight="25.0" prefWidth="60.0" text="Cancel" />
-                  <Button fx:id="okBtn" mnemonicParsing="false" onAction="#pressOkBtn" prefHeight="25.0" prefWidth="60.0" text="OK" />
+                  <Button fx:id="cancelBtn" mnemonicParsing="false" onAction="#pressCancelBtn" prefHeight="25.0" prefWidth="60.0" text="Cancel">
+                     <font>
+                        <Font name="Lucida Console" size="12.0" />
+                     </font>
+                  </Button>
+                  <Button fx:id="okBtn" mnemonicParsing="false" onAction="#pressOkBtn" prefHeight="25.0" prefWidth="60.0" text="OK">
+                     <font>
+                        <Font name="Lucida Console" size="12.0" />
+                     </font>
+                  </Button>
                </children>
                <GridPane.margin>
                   <Insets top="20.0" />
                </GridPane.margin>
             </HBox>
             <DatePicker fx:id="datePicker" GridPane.columnIndex="1" />
+            <Text fx:id="errorMsg" fill="#d90808" opacity="0.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Invalid inputs. Please make surce that amount is above 1 and that category and recurring have values" wrappingWidth="300.0" GridPane.columnSpan="3" GridPane.rowIndex="5" GridPane.rowSpan="2">
+               <font>
+                  <Font name="Lucida Console" size="11.0" />
+               </font>
+            </Text>
          </children>
       </GridPane>
    </content>