diff --git a/src/main/java/Team5/SmartTowns/Landmarks/Landmarks.java b/src/main/java/Team5/SmartTowns/Landmarks/Landmarks.java
index 95422737afa3fa968c0e1364f6a0d5990c479269..790090acf3feca3c8891be9eedb910159417beb4 100644
--- a/src/main/java/Team5/SmartTowns/Landmarks/Landmarks.java
+++ b/src/main/java/Team5/SmartTowns/Landmarks/Landmarks.java
@@ -1,11 +1,16 @@
 package Team5.SmartTowns.Landmarks;
 
+import jakarta.validation.constraints.Email;
+import jakarta.validation.constraints.Min;
+import jakarta.validation.constraints.NotEmpty;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 @Data
+@AllArgsConstructor
 public class Landmarks {
+    @NotEmpty(message = "You must type in a username.")
     private String landmarkName;
-
+    @Email(message = "You must attach a contact address.")
     private String landmarkEmail;
     private String landmarkDescription;
     private String landmarkLocation;
@@ -20,11 +25,11 @@ public class Landmarks {
         this.trailID =0;
     }
 
-    public Landmarks(String landmarkName, String landmarkEmail, String landmarkDescription, String landmarkLocation, Integer trailID) {
-        this.landmarkName = landmarkName;
-        this.landmarkEmail = landmarkEmail;
-        this.landmarkDescription = landmarkDescription;
-        this.landmarkLocation = landmarkLocation;
-        this.trailID = trailID;
-    }
+//    public Landmarks(String landmarkName, String landmarkEmail, String landmarkDescription, String landmarkLocation, Integer trailID) {
+//        this.landmarkName = landmarkName;
+//        this.landmarkEmail = landmarkEmail;
+//        this.landmarkDescription = landmarkDescription;
+//        this.landmarkLocation = landmarkLocation;
+//        this.trailID = trailID;
+//    }
 }
diff --git a/src/main/java/Team5/SmartTowns/Landmarks/LandmarksController.java b/src/main/java/Team5/SmartTowns/Landmarks/LandmarksController.java
index 7f3a520cbb1fe0d9f1cbd148e236a477b6450b70..1e1df772a23b7a174f1261c4aa77ce3c4cb1bb54 100644
--- a/src/main/java/Team5/SmartTowns/Landmarks/LandmarksController.java
+++ b/src/main/java/Team5/SmartTowns/Landmarks/LandmarksController.java
@@ -1,5 +1,6 @@
 package Team5.SmartTowns.Landmarks;
 
+import jakarta.validation.Valid;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
 import org.springframework.validation.BindingResult;
@@ -15,7 +16,7 @@ public class LandmarksController {
 
     @GetMapping("/landmarkSubmission")
     public ModelAndView landmarkSubmission(){
-        ModelAndView modelAndView1 = new ModelAndView("LandmarkFormTh.html");
+        ModelAndView modelAndView1 = new ModelAndView("Landmarks/LandmarkFormTh.html");
         modelAndView1.addObject("landmarkData", new Landmarks());
         return modelAndView1;
 
@@ -23,9 +24,15 @@ public class LandmarksController {
 
 
     @PostMapping("/landmarkSub")
-    public ModelAndView landmarkSent( @ModelAttribute("landmarkData") Landmarks landmarks ) {
+    public ModelAndView landmarkSent(@Valid @ModelAttribute("landmarkData") Landmarks landmarks, BindingResult bindingResult, Model model ) {
         System.out.println(landmarks);
 
+        if (bindingResult.hasErrors()) {
+            ModelAndView modelAndView = new ModelAndView("Landmarks/LandmarkFormTh.html", model.asMap());
+            return modelAndView;
+
+        } else{
+
 //       LandmarksArray userArray = LandmarksArray.getInstance();
 //        Landmarks newUserSubmission = new Landmarks(landmarkData.getFormUsername(),userSubmission.getFormEmail(),
 //                userSubmission.getFormPark(), userSubmission.getFormDescription(),userSubmission.getFormCafe(), userSubmission.getFormToilets());
@@ -33,7 +40,11 @@ public class LandmarksController {
 //        System.out.println(userArray.getFormItems());
 //
         ModelAndView modelAndView = new ModelAndView("redirect:/test.html");
-        return modelAndView;
+            return modelAndView;
+
+        }
+
+//        return modelAndView;
 
 
 
diff --git a/src/main/resources/templates/LandmarkFormTh.html b/src/main/resources/templates/Landmarks/LandmarkFormTh.html
similarity index 59%
rename from src/main/resources/templates/LandmarkFormTh.html
rename to src/main/resources/templates/Landmarks/LandmarkFormTh.html
index f8e2ecb3e65f6dbd073be123c75bdb55c0379df0..29a09b48a092aecc068c13e3f3478c0ee6bc5999 100644
--- a/src/main/resources/templates/LandmarkFormTh.html
+++ b/src/main/resources/templates/Landmarks/LandmarkFormTh.html
@@ -5,30 +5,36 @@
     <title>Landmark Sign Up</title>
 </head>
 <body>
+<header th:insert="~{/towns/Templating.html :: header}"></header>
 <main>
     <form action="/landmarkSub" id="landmarkSubmission" name="landmarkSubmission" method="post" th:object="${landmarkData}" onsubmit="return landmarkFormValidation()">
 
 
-        <label>Business Name:&nbsp;
+        <label>Business Name:
            <input type="text" th:field="*{landmarkName}">
         </label><br>
+        <div th:errors="*{landmarkName}" th:if="${#fields.hasErrors('landmarkName')}">ErrorLandmarkName</div>
         <label>Contact Address:
             <input type="text" th:field="*{landmarkEmail}">
         </label><br>
+        <div th:errors="*{landmarkEmail}" th:if="${#fields.hasErrors('landmarkEmail')}">ErrorEmail</div>
         <label>Please Describe Your Business:<br>
             <textarea th:field="*{landmarkDescription}" rows="8" cols="60"></textarea>
         </label><br>
         <label>Your town/city:
-            <input type="text" th:field="*{landmarkName}">
+            <input type="text" th:field="*{landmarkLocation}">
         </label><br>
         <label>Trail:
-
             <select th:field="*{trailID}">
                 <option value=0 disabled selected>Select Trail</option>
                 <option value=1>Trail 1</option>
                 <option value=2>Trail 2</option>
                 <option value=3>Trail 3</option>
             </select>
+
+
+
+            </div>
         </label><br>
 
 
@@ -38,23 +44,31 @@
 </main>
 
 <script>
+
+
+
+
+
     function landmarkFormValidation(){
-        console.log("sadasd");
         var pass=true;
-        var description = (document.forms["landmarkSubmission"]["landmarkDescription"].value);
-        console.log(description);
+        var trail = document.forms["landmarkSubmission"]["trailID"].value
+        var description = document.forms["landmarkSubmission"]["landmarkDescription"].value;
         var descriptionWrdCount=description.split(" ").length
-        if(descriptionWrdCount>5){
-            alert('Please keep your review to a maximum of 5 words.');
-            console.log("BAD!!");
+        if (descriptionWrdCount>300){
+            alert('Please keep your review to a maximum of 300 words.');
             pass = false;
+        }
 
+        if (trail==0){
+            alert('Invalid trail selected. \nPlease select the trail you wish to join.');
+            pass = false;
         }
+
         return pass;
     }
 
 
 </script>
-
+<footer th:insert="~{/towns/Templating.html :: footer}"></footer>
 </body>
 </html>
\ No newline at end of file
diff --git a/src/main/resources/templates/towns/templates.server/Templating.html b/src/main/resources/templates/towns/Templating.html
similarity index 100%
rename from src/main/resources/templates/towns/templates.server/Templating.html
rename to src/main/resources/templates/towns/Templating.html