W kilku projektach stosuję poniższą metodę walidacji pól formularza konkretnego typu. Ciekaw jestem, co o tym sądzicie.
Array.from(document.querySelectorAll('input[type="typ formularza"]')).forEach(element =>
{
element.addEventListener('blur', checkField);
});
function checkField()
{
walidateText(this.value, this.id);
// miejsce na dodatkowy kod np. kolejna funkcja walidująca
}
function walidateText(text, ID)
{
let lettersORnumbers = /^[a-zA-ZąĄćĆęĘóÓłŁśŚźŹżŻńŃ0-9]*$/;
let formID = document.getElementById(ID);
if (lettersORnumbers.test(text))
{
formID.style.backgroundColor = "white";
}
else
{
alert("Wrong text!");
// zamiast alertu oczywiście mogę zastosować coś innego, to tylko przykład interakcji
formID.style.backgroundColor = "red";
}
}