urejeno preverjanja ustrezno izbranega datuma

This commit is contained in:
iva
2026-11-04 12:53:26 +01:00
parent 85750602f3
commit c43063dc32
+33 -1
View File
@@ -6,6 +6,8 @@ const email = document.querySelector("#email");
const napakaEmail = document.querySelector("#napaka-email"); const napakaEmail = document.querySelector("#napaka-email");
const telefon = document.querySelector("#telefon-st"); const telefon = document.querySelector("#telefon-st");
const napakaTelefon = document.querySelector("#napaka-telefon"); 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. function preveriIme() { // Preveri, ali sta ime in priimek pravilno vnesena.
const vrednost = ime.value.trim(); //odstrani presledke na zacetku in koncu 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 // Preverjanje med tipkanjem
ime.addEventListener("input", preveriIme); //funkcija se opravi ko zacnemo pisati v ime, se zacne izvajati funkcija ime.addEventListener("input", preveriIme); //funkcija se opravi ko zacnemo pisati v ime, se zacne izvajati funkcija
email.addEventListener("input", preveriEmail); email.addEventListener("input", preveriEmail);
telefon.addEventListener("input", preveriTelefon); 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 obrazec.addEventListener("submit", function(event) { //ko oddamo funkcijo se izvede preverjanje
event.preventDefault(); //preprecimo default preverjsnje ob submitu 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 imePravilno = preveriIme(); //elementu imePravilno dodamo vrednost true/false
const emailPravilno = preveriEmail(); const emailPravilno = preveriEmail();
const telefonPravilno = preveriTelefon(); const telefonPravilno = preveriTelefon();
const datumPravilno = preveriDatum();
if (imePravilno && emailPravilno && telefonPravilno) { if (imePravilno && emailPravilno && telefonPravilno && datumPravilno) {
//se morem preveriti ostale vrednosti //se morem preveriti ostale vrednosti
} }
}); });