Files
BeWoPlaner/BeWoPlanerMobil/Scripts/validation.js
Lyndon b695d152e0 Mobilklient:
- Ziele funktionieren
 - Hilfeplanauswahl optisch überarbeitet
2019-07-19 17:13:57 +02:00

112 lines
2.3 KiB
JavaScript

function validateDate(date) {
try {
var shortMonths = [4, 6, 9, 11];
var day = 1;
var month = 1;
var year = 1;
if(date.length === 10) {
var splitString = date.split(".");
for(var i = 0; i < splitString.length; i++) {
var number = parseInt(splitString[i], 10);
switch(i) {
case 0:
day = number;
break;
case 1:
month = number;
break;
default:
year = number;
break;
}
}
if(month > 0 && month < 13) {
if(month === 2) {
var isLeapYear = year % 4 === 0 && year % 100 !== 0 || year % 400 === 0;
if(isLeapYear) {
return day > 0 && day < 30;
} else {
return day > 0 && day < 29;
}
}
if(shortMonths.includes(month)) {
return day > 0 && day < 31;
} else {
return day > 0 && day < 32;
}
}
return false;
}
return false;
} catch (exception) {
console.log("Fehler bei validateDate: " + exception);
return false;
}
}
function doValidation(elementToValidate) {
var obj = $(elementToValidate);
var isValid = validateDate(obj.val());
obj.css("color", (isValid ? "#555" : "red"));
return isValid;
}
function validateTime(time) {
try {
var numberString = time.replace("[^0-9]", "");
if (numberString.length < 3) {
if (numberString.length < 2) {
numberString = "0" + numberString;
}
while (numberString.length < 4) {
numberString = numberString + "0";
}
} else {
while (numberString.length < 4) {
numberString = "0" + numberString;
}
}
if (numberString.length > 4) {
numberString = numberString.substring(0, 5);
}
var hours = parseInt(numberString.substring(0, 2), 10);
var minutes = parseInt(numberString.substring(3, 5), 10);
return Number.isInteger(hours) && Number.isInteger(minutes) && hours >= 0 && hours < 25 && minutes >= 0 && minutes < 60;
} catch (exception) {
console.log("Fehler bei validateTime: " + exception);
return false;
}
}
function doTimeValidation(elementToValidate) {
console.log("Rufe doTimeValidation auf...");
var obj = $(elementToValidate);
var timeString = obj.val();
if (timeString.length === 0) {
timeString = "0000";
}
var isValid = validateTime(timeString);
obj.css("color", (isValid ? "#555" : "red"));
return isValid;
}