Skip to content

Instantly share code, notes, and snippets.

@fabioluzm
Last active September 26, 2019 16:03
Show Gist options
  • Save fabioluzm/1a7c62b5a6babfa2d2a7ec13739851f1 to your computer and use it in GitHub Desktop.
Save fabioluzm/1a7c62b5a6babfa2d2a7ec13739851f1 to your computer and use it in GitHub Desktop.
validade form with native JS
function validadeForm() {
var lang = document.documentElement.lang;
switch (lang)
{
case 'pt':
var language = 'pt',
error_message = 'Campo obrigatório.'
break;
case 'en':
var language = 'en',
error_message = 'Mandatory Field.'
break;
}
var formField = document.querySelectorAll('input');
formField.forEach(function (el,i)
{
if (el.value.trim() == '' && el.required == true || (el.type == 'checkbox' && el.checked == false))
{
errorMessage(el,error_message);
}
el.addEventListener('input', () => {
if (el.value.trim() == '' && el.required == true || (el.type == 'checkbox' && el.checked == false))
{
errorMessage(el,error_message);
}
else
{
var fieldParent = el.parentNode,
childnode = fieldParent.querySelector('.errorMessage');
if (fieldParent.contains(childnode) == true)
{
fieldParent.classList.remove('has-error');
fieldParent.removeChild(childnode);
}
}
});
});
}
function errorMessage(el,errorMessage) {
document.addEventListener('invalid', (function () {
return function (e) {
e.preventDefault();
e.stopPropagation();
};
})(), true);
var fieldParent = el.parentNode,
childnode = fieldParent.querySelector('.errorMessage');
if (fieldParent.contains(childnode) == false) {
var errorEl = document.createElement("div");
errorEl.className = "errorMessage";
errorEl.innerHTML = '<span>' + errorMessage + '</span>';
el.parentNode.classList.add('has-error');
el.parentNode.appendChild(errorEl);
}
}
// function peaSendMail(data) {
// $.post('pea/peaSendMail.php', data, function(res) {
// alert(res.data);
// if (res.status == 0) {
// $('#pea-contact')[0].reset();
// }
// }, 'json');
// }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment