Carlos Rocha Posted September 25, 2011 Report Share Posted September 25, 2011 Olá pessoal.Bom DiaGostaria de desenvolver uma função em JavaScript crossbrowser que valide todo e qualquer form.alguém me ajuda a desenvolver?à medida que as ideias forem aparecendo, por favor postem aqui.A idéia seria mais ou menos assim:function validaforms (quantoscamposnoform, nomeform, nomesdoscampos:array) { for (i=1;i<=quantoscamposnoform;i++) { if (document.nomeform.nomesdoscampos[1].value == "") { alert("Preencha Campo 1: campo obrigatório !"); document.nomeform.nomesdoscampos[1].focus(); return (false); } } } Quote Link to comment Share on other sites More sharing options...
0 Willian Gustavo Veiga Posted September 25, 2011 Report Share Posted September 25, 2011 Todo e qualquer form? Você quer criar um código genérico, que valide qualquer formulário?Um abraço. Quote Link to comment Share on other sites More sharing options...
0 Carlos Rocha Posted September 25, 2011 Author Report Share Posted September 25, 2011 (edited) Isso mesmo.Fazer um loop pelo numero de campos; Busca no form para saber, pelo nome do form, o name do campo; Validação do tipo de campo, se é text, select.....Vamos tentar?alguém me ajuda a criar essa função? Edited September 25, 2011 by Carlos Rocha Quote Link to comment Share on other sites More sharing options...
0 rafaeldorazio Posted September 26, 2011 Report Share Posted September 26, 2011 uma dica, use Jquery nos campos que são requeridos sete m etodos nos campos exemplo:<input type="text" validate="true">AI no jquery você faz um foreach pegando e validando so campos que tem validate=true Quote Link to comment Share on other sites More sharing options...
0 Willian Gustavo Veiga Posted September 26, 2011 Report Share Posted September 26, 2011 Eu não acredito em uma solução genérica, para todos os seus problemas. Você pode utilizar a sugestão do Rafael ou utilizar o plugin Validation.Um abraço. Quote Link to comment Share on other sites More sharing options...
0 Carlos Rocha Posted September 27, 2011 Author Report Share Posted September 27, 2011 Boa tardeem js ou ajax, como eu sei quais os tipos de campos temn em um form?Tipo:No form cadastro, tem dois type=text, um select e um radio buttoniso na sequencia, tipo, o primeiro é um text, o segundo é um radio buttom o trernceiro é um select..... Quote Link to comment Share on other sites More sharing options...
0 rafaeldorazio Posted September 27, 2011 Report Share Posted September 27, 2011 agora estou no trabalho com serviços até o pescoço rsrsMas por enquanto ai vai uma dica:<input type="text" id="nome" validation="true" > <input type="text" id="ENdereco" validation="true" > <input type="text" if="Telefone" validation="true" >Ai você vai pesquisar a respeito no Jquery:- Como fazer um looping no jquery pegando campos com uma determinada tag Quote Link to comment Share on other sites More sharing options...
0 Carlos Rocha Posted September 27, 2011 Author Report Share Posted September 27, 2011 Valeu pela resposta, mas eu preciso saber quais são os campos do form para validar. Tipo: O form tem 6 campos, o campos[0] é um text area e seu name é tal, o campos[1], é um select e seu name é tal, o campos {i de laço for para determinar quantos campos tem o form e jogar eles em um array de elementos} é isso que eu precido mano .Talves eu não esteje entendendo. Quote Link to comment Share on other sites More sharing options...
0 rafaeldorazio Posted September 28, 2011 Report Share Posted September 28, 2011 rsrs ai que está Carlos, os campos que estiverem com a tag validation="true" vao ser validadose não seria assim que você faria com o jquery XD Quote Link to comment Share on other sites More sharing options...
0 Carlos Rocha Posted September 28, 2011 Author Report Share Posted September 28, 2011 (edited) Bom Dia programmers and Designers an Curious (Com eu) heheDepois de muita coisa de pensamento profundo dentro da minha cabeça, cheguei a essa função valida quase tudo.Preciso da ajuda de vocês para implementar mais a função:<form action="#" method="post" id="meuform" name="meuform"> <input name="id" name="nome" type="text" value="" textovalida="o nome" validate="true" /><br /> <input id="idade" name="idade" type="text" value="" maxlength="100" textovalida="a idade" validate="false"><br /> <select type="select" id="cidade" name="cidade" textovalida="a cidade" validate="true" /><br /> <option value="">ESCOLHA</option> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> </select><br /> <input type="button" value="Enviar" onclick="validate('meuform')" validate="false" /> </form> <script> // JavaScript Document function validate(form) { formulario = document.getElementById(form); quantoscampos = formulario.elements.length; for (var i = 0; i < quantoscampos; i++) { var campos = formulario.elements[i]; if ( (campos.getAttribute("type")=="text") || (campos.getAttribute("type")=="password") ) { completar="Preencha"; } if ( (campos.getAttribute("type")=="select") || (campos.getAttribute("type")=="radio") || (campos.getAttribute("type")=="checkbox") || (campos.getAttribute("type")=="file") ) { completar="Selecione"; } if (campos.getAttribute("validate") == "true") { if (campos.value == "") { alert(completar+" "+campos.getAttribute("textovalida")+": Campo Obrigatório"); campos.focus(); return false; } } } formulario.submit(); } </script> Edited September 28, 2011 by Carlos Rocha Quote Link to comment Share on other sites More sharing options...
0 fiote Posted September 28, 2011 Report Share Posted September 28, 2011 Galera, não vamos assumir que o mundo inteiro usa jquery. Que tal propor uma solução que não dependa de nenhum framework? Quote Link to comment Share on other sites More sharing options...
0 Carlos Rocha Posted September 28, 2011 Author Report Share Posted September 28, 2011 Nesse squema que usei foi só js mesmo.Nenhum outro artificil foi usado.pode testar para ver.Bom pessoal,Estou fazendo progresso:Estou dentro de uma pagina js: valida_tudo.js;Dentro dela, tem a importação de outro arquivo js: valida_email.js.document.write("<script type='text/javascript' src='valida_email.js'></script>"); Acontece que, quando a função valida_EMAIL(), que esta dentro do arquivo valida_email.js é chamada, toda ele funciona direito, exceto o comando return false e o focus. Qual é o erro? // JavaScript Document function valida_EMAIL(campo) { arroba = campo.value.indexOf("@",1); ponto = campo.value.indexOf(".",arroba); if(arroba==-1 || ponto==-1 || ponto+3 > campo.value.length) { alert("Teu e-mail foi digitado incorretamente. Verifique padrão: teuemail@teuprovedor.finalizacao"); campo.focus(); return (false); } return (true); } ainda não consegui Pessoal. olha a situação que estou. Estou dentro de um arquivo js e, faço um if. Caso esse if aconteça, eu chamo uma função que esta dentro de outro arquivo js que é chamado antes de chamar a função. Mas, esta dando que a função, no arquvo importado, não esta recebendo o valor. Onde esta o erro? if (campos.id == "email") { /*document.write("<script type='text/javascript' src='valida_email.js'></script>");*/ src='valida_email.js'; valida_email(campos); } Descobri que se eu carregar o outro arquivo js no incio do arquivo js em questão e fizer só a chamada da função dentro do if funciona normalmente. Porem, se eu chamar o outro arquivo js de dentro do if, ai da erro. O que eu preciso fazer para incluir o arquivo só se eu realmente preisar dele? isso funciona // JavaScript Document document.write("<script type='text/javascript' src='valida_email.js'></script>"); function validate(form) { formulario = document.getElementById(form); quantoscampos = formulario.elements.length; for (var i = 0; i < quantoscampos; i++) { var campos = formulario.elements[i]; ....... } else if (campos.id == "email") { return valida_email(campos); } } } } formulario.submit(); } isso NÃO funciona // JavaScript Document function validate(form) { formulario = document.getElementById(form); quantoscampos = formulario.elements.length; for (var i = 0; i < quantoscampos; i++) { var campos = formulario.elements[i]; ....... ........ ......... } else if (campos.id == "email") { document.write("<script type='text/javascript' src='valida_email.js'></script>"); return valida_email(campos); } } } } formulario.submit(); } Quote Link to comment Share on other sites More sharing options...
0 rafaeldorazio Posted September 30, 2011 Report Share Posted September 30, 2011 fiote pensava que nem você mas depois que entrei na empresa que estou trabalhando eles me mostraram um outro mundo, se o framework te ajuda e facilita o desenvolvimento porque não usa-lo ?Carlos se você não estiver com a corda no pescoço me mande uma mensagem privada com o seu MSN que eu te ajudo quando eu tiver um tempinho Quote Link to comment Share on other sites More sharing options...
Question
Carlos Rocha
Olá pessoal.
Bom Dia
Gostaria de desenvolver uma função em JavaScript crossbrowser que valide todo e qualquer form.
alguém me ajuda a desenvolver?
à medida que as ideias forem aparecendo, por favor postem aqui.
A idéia seria mais ou menos assim:
Link to comment
Share on other sites
12 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.