Carlos Rocha Postado Setembro 25, 2011 Denunciar Share Postado Setembro 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); } } } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Willian Gustavo Veiga Postado Setembro 25, 2011 Denunciar Share Postado Setembro 25, 2011 Todo e qualquer form? Você quer criar um código genérico, que valide qualquer formulário?Um abraço. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Carlos Rocha Postado Setembro 25, 2011 Autor Denunciar Share Postado Setembro 25, 2011 (editado) 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? Editado Setembro 25, 2011 por Carlos Rocha Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 rafaeldorazio Postado Setembro 26, 2011 Denunciar Share Postado Setembro 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Willian Gustavo Veiga Postado Setembro 26, 2011 Denunciar Share Postado Setembro 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. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Carlos Rocha Postado Setembro 27, 2011 Autor Denunciar Share Postado Setembro 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..... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 rafaeldorazio Postado Setembro 27, 2011 Denunciar Share Postado Setembro 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Carlos Rocha Postado Setembro 27, 2011 Autor Denunciar Share Postado Setembro 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. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 rafaeldorazio Postado Setembro 28, 2011 Denunciar Share Postado Setembro 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Carlos Rocha Postado Setembro 28, 2011 Autor Denunciar Share Postado Setembro 28, 2011 (editado) 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> Editado Setembro 28, 2011 por Carlos Rocha Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fiote Postado Setembro 28, 2011 Denunciar Share Postado Setembro 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? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Carlos Rocha Postado Setembro 28, 2011 Autor Denunciar Share Postado Setembro 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(); } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 rafaeldorazio Postado Setembro 30, 2011 Denunciar Share Postado Setembro 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
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 para o comentário
Compartilhar em outros sites
12 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.