From cb1865216bb866880719a3f074c339b4e0b8442e Mon Sep 17 00:00:00 2001 From: Rhys Evans <EvansRM17@cardiff.ac.uk> Date: Mon, 27 Nov 2023 22:37:13 +0000 Subject: [PATCH] Beginning work on client-side verification --- .../Team5/SmartTowns/Landmarks/Landmarks.java | 8 +++- .../SmartTowns/Landmarks/LandmarksArray.java | 2 +- .../Landmarks/LandmarksController.java | 1 + .../resources/templates/LandmarkFormTh.html | 37 +++++++++++++++++-- 4 files changed, 41 insertions(+), 7 deletions(-) diff --git a/src/main/java/Team5/SmartTowns/Landmarks/Landmarks.java b/src/main/java/Team5/SmartTowns/Landmarks/Landmarks.java index e6b284ff..95422737 100644 --- a/src/main/java/Team5/SmartTowns/Landmarks/Landmarks.java +++ b/src/main/java/Team5/SmartTowns/Landmarks/Landmarks.java @@ -5,20 +5,24 @@ import lombok.Data; @Data public class Landmarks { private String landmarkName; + + private String landmarkEmail; private String landmarkDescription; private String landmarkLocation; - private int trailID; + private Integer trailID; public Landmarks(){ this.landmarkName =""; + this.landmarkEmail=""; this.landmarkDescription =""; this.landmarkLocation =""; this.trailID =0; } - public Landmarks(String landmarkName, String landmarkDescription, String landmarkLocation, int 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/LandmarksArray.java b/src/main/java/Team5/SmartTowns/Landmarks/LandmarksArray.java index 0d246dda..d469cc31 100644 --- a/src/main/java/Team5/SmartTowns/Landmarks/LandmarksArray.java +++ b/src/main/java/Team5/SmartTowns/Landmarks/LandmarksArray.java @@ -11,7 +11,7 @@ public class LandmarksArray { landmarksList = new ArrayList<>(); //ArrayList is mutable landmarksList.addAll( List.of( - new Landmarks("park","desc","loc",2) + new Landmarks("park","asd","desc","loc",9) ) ); diff --git a/src/main/java/Team5/SmartTowns/Landmarks/LandmarksController.java b/src/main/java/Team5/SmartTowns/Landmarks/LandmarksController.java index 3148324b..7f3a520c 100644 --- a/src/main/java/Team5/SmartTowns/Landmarks/LandmarksController.java +++ b/src/main/java/Team5/SmartTowns/Landmarks/LandmarksController.java @@ -24,6 +24,7 @@ public class LandmarksController { @PostMapping("/landmarkSub") public ModelAndView landmarkSent( @ModelAttribute("landmarkData") Landmarks landmarks ) { + System.out.println(landmarks); // LandmarksArray userArray = LandmarksArray.getInstance(); // Landmarks newUserSubmission = new Landmarks(landmarkData.getFormUsername(),userSubmission.getFormEmail(), diff --git a/src/main/resources/templates/LandmarkFormTh.html b/src/main/resources/templates/LandmarkFormTh.html index 9a2bf495..f8e2ecb3 100644 --- a/src/main/resources/templates/LandmarkFormTh.html +++ b/src/main/resources/templates/LandmarkFormTh.html @@ -6,26 +6,55 @@ </head> <body> <main> - <form action="/landmarkSub" id="landmarkSubmission" name="landmarkSubmission" method="post" th:object="${landmarkData}"> + <form action="/landmarkSub" id="landmarkSubmission" name="landmarkSubmission" method="post" th:object="${landmarkData}" onsubmit="return landmarkFormValidation()"> - <label>Business Name: + <label>Business Name: <input type="text" th:field="*{landmarkName}"> </label><br> + <label>Contact Address: + <input type="text" th:field="*{landmarkEmail}"> + </label><br> <label>Please Describe Your Business:<br> - <textarea th:field="*{landmarkDescription}" rows="6" cols="80"></textarea> + <textarea th:field="*{landmarkDescription}" rows="8" cols="60"></textarea> </label><br> <label>Your town/city: <input type="text" th:field="*{landmarkName}"> </label><br> <label>Trail: - <input type="text" th:field="*{trailID}"> + + <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> </label><br> + <input type="submit"> </form> </main> +<script> + function landmarkFormValidation(){ + console.log("sadasd"); + var pass=true; + var description = (document.forms["landmarkSubmission"]["landmarkDescription"].value); + console.log(description); + var descriptionWrdCount=description.split(" ").length + if(descriptionWrdCount>5){ + alert('Please keep your review to a maximum of 5 words.'); + console.log("BAD!!"); + pass = false; + + } + return pass; + } + + +</script> + </body> </html> \ No newline at end of file -- GitLab