From c43063dc329e59de668292f640189e9c7f6c326a Mon Sep 17 00:00:00 2001 From: Iva Date: Wed, 4 Nov 2026 12:53:26 +0100 Subject: [PATCH] urejeno preverjanja ustrezno izbranega datuma --- js/rezervacija.js | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/js/rezervacija.js b/js/rezervacija.js index baf5de7..526ed83 100644 --- a/js/rezervacija.js +++ b/js/rezervacija.js @@ -6,6 +6,8 @@ const email = document.querySelector("#email"); const napakaEmail = document.querySelector("#napaka-email"); const telefon = document.querySelector("#telefon-st"); const napakaTelefon = document.querySelector("#napaka-telefon"); +const datum = document.querySelector("#datum-obiska"); +const napakaDatum = document.querySelector("#napaka-datum"); function preveriIme() { // Preveri, ali sta ime in priimek pravilno vnesena. const vrednost = ime.value.trim(); //odstrani presledke na zacetku in koncu @@ -56,11 +58,40 @@ function preveriTelefon (){ } } +// Preveri pravilnost datuma rezervacije. +function preveriDatum() { + const vrednost = datum.value; //elementu doda trenutno vrednost elementa value, torej tisto kar uporabnik izbere, npr. 4.november 2026 bi bilo 2026-11-04, vrne vrednost v obliki string + const izbraniDatum = new Date(vrednost + "T00:00:00"); //tukaj pa iz stringa spremenim v pobjekt date, pac uporabno za datum + const danVTednu = izbraniDatum.getDay(); // s tem pa ugotovimo kater dan v tednu je to, 0-nedelja, 1-ponedeljek, 2-torek... za cel teden, da bom lahko kasneje napisala da smo v torek zaprti + + const danes = new Date(); // elementu danes dodam vrednost današnjega datuma + danes.setHours(0, 0, 0, 0); //in nastavim čas na polnoč, vse datume primerjam ob polnoči da slučajnp to ne bi vpivalo na preverjanje ali je datum v preteklosti + + if (vrednost === "") { //če je vrednost prazna potem + napakaDatum.textContent = "Izberite datum rezervacije."; + } + else if (danes > izbraniDatum) { //če je današnji datum večji oz kasnejši od izbranega potem + napakaDatum.textContent = "Datum ne sme biti v preteklosti."; + } + else if (danVTednu === 2) { //če je izbran dan v tednu torek + napakaDatum.textContent = "Ob torkih je restavracija zaprta."; + } + else { + napakaDatum.textContent = ""; + datum.classList.remove("napacno"); + return true; //če je datum prvilen se funkcija konča tukaj + } + + datum.classList.add("napacno"); + return false; //zapisano na koncu da se izognemo ponavljanju, ker do tega dela pridemo samo če je datum neustrezen +} + // Preverjanje med tipkanjem ime.addEventListener("input", preveriIme); //funkcija se opravi ko zacnemo pisati v ime, se zacne izvajati funkcija email.addEventListener("input", preveriEmail); telefon.addEventListener("input", preveriTelefon); +datum.addEventListener("select", preveriDatum); //tu imam select ker datum izbira ne vpisuje tako da je bolj logicno obrazec.addEventListener("submit", function(event) { //ko oddamo funkcijo se izvede preverjanje event.preventDefault(); //preprecimo default preverjsnje ob submitu @@ -68,8 +99,9 @@ obrazec.addEventListener("submit", function(event) { //ko oddamo funkcijo se izv const imePravilno = preveriIme(); //elementu imePravilno dodamo vrednost true/false const emailPravilno = preveriEmail(); const telefonPravilno = preveriTelefon(); + const datumPravilno = preveriDatum(); - if (imePravilno && emailPravilno && telefonPravilno) { + if (imePravilno && emailPravilno && telefonPravilno && datumPravilno) { //se morem preveriti ostale vrednosti } }); \ No newline at end of file