Validar form com várias funções Javascript
Bom dia a todos
Estou com um problema aqui para validar dois campos de um formulário, como podem ver, não sou um programador muito experiente, pois não conseguir validar DOIS campos é dose... heheheeh :-D
Meu formulário tem dois campos que o usuário vai informar no primeiro a data inicial e no segundo a data final que será necessária para gerar um relatório.
Preciso somente validar as datas no formato DD/MM/AAAA, já consegui fazer isso, com 4 funções diferentes:
validateFields() : verifica se os campos estão vazios
verifyDateIni() : verifica o primeiro campo, se dia/mes/ano são válidos
verifyDateEnd() : verifica o segundo campo, se dia/mes/ano são válidos
compareDate() : verifica se o segundo campo é menor que o primeiro
Verifiquei o funcionamento de cada uma, mas o que não to conseguindo fazer é passar por todas funções, para só então submeter o formulário.
A verificação até está sendo feita, mas me retorna TODAS as mensagens de erros... :x
Alguém tem alguma dica, ou algum outro script que faça isso de um jeito mais simples ?
Valeu pela atenção
Re: Validar form com várias funções Javascript
Será que você poderia explicar melhor o seu problema eu não entendi direito, mas acho que posso ajudar, agora estou um pouco sem tempo mas quando voltar para casa tratarei de ajuda-lo =].
* O que você quer é?
- Analizar os dois campos antes de submetar a página
- Ao analizar os dois campos chamar as 4 funções
- Somente submeter caso as 4 funções estejam corretas
Bom se puder disponha de mais informações que as pessoas lhe ajudaram com maior facilidade =] =]
Ei ei tenho uma indicação de documento para você, quem sabe lhe ajude para mim ajudou muito, e por favor não se sinta ofendido, sempre comento isso porque tem pessoas que se sentem ofendidas por qualquer coisa, o que estou querendo fazer é somente lhe ajudar.
Se seu inglês estiver bom
http://www.catb.org/~esr/faqs/smart-questions.html
O texto traduzido
http://www.celiojunior.com.br/comofazerperguntas.htm
Vale a pena conferir o texto =]
Re: Validar form com várias funções Javascript
Blz
Não fico ofendido não... :)
Mas só acho que minha pergunta está BEM clara.
Tanto é que você entendeu exatamente minha necessidade :-D
O que eu preciso de ajuda é em relação a como fazer isso funcionar da maneira que comecei ou de qualquer outra maneira, pois pra mim o importante é que funcione, ou seja, que valide os dois campos com os formatos DD/MM/YYYY com datas válidas.
Estou vasculhando na internet/Google pra ver se consigo, mas só vim ao fórum porque já fiz isso, mas vou continuar tentando.
Valeu !!!
Re: Validar form com várias funções Javascript
EI EI cara eu fiz um exemplo para vc heheh =] mas nao se acustume pq geralmente nao faco isso hauhauuh mas hoje estou bonzinho e empolgado hauhauh =]
Espero q solucione seu problema.
<html>
<head>
<title>Multiplos campos sendo checados</title>
<script language="javascript">
//exemplo jah que nao sei o codigo da funcao =]
function validateFields(){
if(inicial.value == "nada =]")
return false
else
return true
}
function testar(){
alert("Feito em um Slackware 10.2 quase 11 =], e no emacs modo console =] =] ");
inicial = document.teste.inicial;
final = document.teste.final;
submeter = true;
if(validateFields(inicial) == false)
{
submeter = false;
alert("tosco nao validou o campo inicial com o valor correto x y pk delta ")
}
//... faca com as outras funcoes
//...
if(submeter == true){
alert("Parabens vc conseguiu vc venceu ehhh \o/ sim sim eu sou meio bobo huahauhu agora a pagina vai ser submetida");
document.teste.submit();
}
else
alert("Para continuar por favor luser complete os campos direito. Obrigado pela atencao =] ");
}
</script>
</head>
<body>
<FORM NAME="teste" METHOD="POST">
<input type="text" name="inicial" value="nada =]">
<input type="text" name="final" >
<input type="button" name="teste" onclick="testar()">
</FORM>
</body>
</html>
Re: Validar form com várias funções Javascript
hehehehe Valeu brow !
Mas eu já tinha conseguido o que eu queria, com um código "um pouquinho" maior :-P
Pra não dizer... MONSTRUOSO :-D
Tem gente que vai ver e pensar: "Nossa pra que tudo isso ?!!!?" heheheeh
Mas como eu disse antes, o importante é que tá funcionando já.
Obrigado !
Código :
function validateFields(){
diaI = ponto.dtIni.value.substr(0,2);
mesI = ponto.dtIni.value.substr(3,2);
anoI = ponto.dtIni.value.substr(6,4);
diaE = ponto.dtEnd.value.substr(0,2);
mesE = ponto.dtEnd.value.substr(3,2);
anoE = ponto.dtEnd.value.substr(6,4);
if ((diaI == "") | (mesI == "") | (anoI == "")){
alert("Formato da data INICIAL inválido. Formato correto: dd/mm/aaaa.");
ponto.dtIni.focus();
} else {
if ((diaE == "") | (mesE == "") | (anoE == "")){
alert("Formato da data FINAL inválido. Formato correto: dd/mm/aaaa.");
ponto.dtEnd.focus();
} else {
if (ponto.dtIni.value.length != 10){
alert("Formato da data INICIAL inválido. Formato correto: dd/mm/aaaa.");
ponto.dtIni.focus();
} else {
if (ponto.dtEnd.value.length != 10){
alert("Formato da data FINAL inválido. Formato correto: dd/mm/aaaa.");
ponto.dtEnd.focus();
} else {
if ("/" != ponto.dtIni.value.substr(2,1) || "/" != ponto.dtIni.value.substr(5,1)){
alert("Formato da data INICIAL inválido. Formato correto: dd/mm/aaaa.");
ponto.dtIni.focus();
} else {
if ("/" != ponto.dtEnd.value.substr(2,1) || "/" != ponto.dtEnd.value.substr(5,1)){
alert("Formato da data FINAL inválido. Formato correto: dd/mm/aaaa.");
ponto.dtEnd.focus();
} else {
//Inicio Validação campo DATA INICIAL
if (isNaN(diaI) || diaI > 31 || diaI < 1){
alert("Dia inválido.");
ponto.dtIni.focus();
} else { //Verifica se o mês tem 31 dias
if (isNaN(mesI) || mesI > 12 || mesI < 1){
alert("Formato do mês inválido.");
ponto.dtIni.focus();
} else {
if (mesI == 4 || mesI == 6 || mesI == 9 || mesI == 11){
if (diaI == "31"){
alert("O mês informado não possui 31 dias.");
ponto.dtIni.focus();
} else {
//alert("FUNFOU");
}
} else {
//alert("FUNFOU");
}
//Inicio Validação campo DATA FINAL
if (isNaN(diaE) || diaE > 31 || diaE < 1){
alert("Dia inválido.");
ponto.dtEnd.focus();
} else { //Verifica se o mês tem 31 dias
if (isNaN(mesE) || mesE > 12 || mesE < 1){
alert("Formato do mês inválido.");
ponto.dtEnd.focus();
} else {
if (mesE == 4 || mesE == 6 || mesE == 9 || mesE == 11){
if (diaE == "31"){
alert("O mês informado não possui 31 dias.");
ponto.dtEnd.focus();
} else {
//alert("FUNFOU");
ponto.action = "RelatorioExcel0";
ponto.submit();
}
} else {
}
}
}
}
}}}}}}}}
Abraço