Looping na validação java script

Bom tarde pessoal

Estou com um problema em uma validação com java script e gotaria de saber se alguèm pode ajudar

tenho funçoes pra validação de três campos:

function valida_data(input){
if(input.value==’’){
erro=0
alert(‘A DATA deve ser preenchida!’)
document.inspecao.data_inspecao.select()
document.inspecao.data_inspecao.focus()
return false;
}
else if(input.value.length != 10){
erro=0
alert(‘O formato da DATA deve ser dd/mm/aaaa’)
document.inspecao.data_inspecao.select()
document.inspecao.data_inspecao.focus()
return false;
}
else(erro !=0)
return true;
}

function valida_hora_inicio(){

  if(inspecao.hora_inicio.value==''){
    erro=0
    alert('A HORA DE INICIO deve ser preenchida!')
    inspecao.hora_inicio.select()
	inspecao.hora_inicio.focus() 
    return false;
  }
  else if(inspecao.hora_inicio.value.length != 5){
    erro=0
    alert('O formato da HORA DE INICIO deve ser hh:mm')
   	inspecao.hora_inicio.select()
	inspecao.hora_inicio.focus()
    return false;
  }
  else if(inspecao.hora_inicio.value.substring(2,3) != ':'){
    erro=0
    alert('O formato da HORA DE INICIO deve ser hh:mm!')
    inspecao.hora_inicio.select()
	inspecao.hora_inicio.focus()
    return false;
  }
  else if(parseInt(inspecao.hora_inicio.value.substring(0,2)) > 23 || parseInt(inspecao.hora_inicio.value.substring(3,5)) > 59){
    erro=0
    alert('HORA DE INICIO inválida! 00:00 até 23:59')
    inspecao.hora_inicio.select()
	inspecao.hora_inicio.focus()
    return false;
  }
  else(erro !=0)
  return true;
}

function valida_hora_fim(){
	if(inspecao.hora_termino.value==''){
    erro=0
    alert('A HORA DE TERMINO deve ser preenchida!')
   	inspecao.hora_termino.select()
	inspecao.hora_termino.focus()
    return false;
  }
  else if(inspecao.hora_termino.value.length != 5){
    erro=0
    alert('O formato da HORA DE TERMINO deve ser hh:mm')
    inspecao.hora_termino.select()
	inspecao.hora_termino.focus()
    return false;
  }
  else if(inspecao.hora_termino.value.substring(2,3) != ':'){
    erro=0
    alert('O formato da HORA DE TERMINO deve ser hh:mm!')
   	inspecao.hora_termino.select()
	inspecao.hora_termino.focus()
    return false;
  }
  else if(parseInt(inspecao.hora_termino.value.substring(0,2)) > 23 || parseInt(inspecao.hora_termino.value.substring(3,5)) > 59){
    erro=0
    alert('HORA DE TERMINO inválida! 00:00 até 23:59')
   	inspecao.hora_termino.select()
	inspecao.hora_termino.focus()
    return false;
  }
  else(erro !=0)
  return true;
}

estou chamando as funções com a propriedade

onblur=“valida_data(data_inspecao)”
onblur=“valida_hora_inicio()”
onblur=“valida_hora_fim()”

o problema é que quando acionada a tecla tab caio em um looping pois ele manda a mensagem de erro da validação do primeiro campo e dos outros campos também, antes mesmo de validar o primeiro.

alguém tem alguma dica ou solução?

abraço!

Wagner

Pode começar usando a tag code… Vejo gente falando da tag code umas 10 vezes por dia.

Faz a validação no submit do formulário!

obrigado Alberes