Bom dia pessoal!
Estou criando um formulário, e estou na parte em que quero validar os campos obrigatórios. Para não ter que criar um "if" para cada campo definido como obrigatório, criei uma estrutura usando alguns "for" onde eu percorro todos os inputs do meu formulário, e faço algumas validações para checar se esse campo é obrigatório, se ele está visível e está vazio. Porém, meu código só funciona se jogo ele dentro do form em html (fiz isso para testar a lógica), se eu coloco o mesmo código no evento validateForm, o Fluig me retorna um erro durante a passagem da atividade, que diz que o objeto document não foi definido. Segue print do erro e código. Se alguém souber como resolver isso, ou se tem alguma forma mais fácil de fazer, seria de grande ajuda. Obrigado!
function validateForm(form){
var camposObgt = [];
var teste = 0;
for (var i=0; i < document.getElementsByTagName("div").length; i++){
if(document.getElementsByTagName("div")[i].style.display == "block"){
for(var t = 0; t < document.getElementsByTagName("div")[i].getElementsByTagName("input").length; t ++){
if(document.getElementsByTagName("div")[i].getElementsByTagName("input")[t].value == '' && document.getElementsByTagName("div")[i].getElementsByTagName("input")[t].id != ""){
camposObgt[teste] = document.getElementsByTagName("div")[i].getElementsByTagName("input")[t].name;
teste ++;
$("#" + document.getElementsByTagName("div")[i].getElementsByTagName("input")[t].id).css("backgroundColor", "#CD5555");
}
}
}
}
var texto = "";
for(var i = 0; i < teste; i++){
texto = texto + String.fromCharCode(10) + camposObgt[i]
}
var mensagem = "Preencha os campos:" + texto;
document.getElementById("txtMsgErro").value = mensagem;
}