JavaScript - Mi validacion

 
Vista:

Mi validacion

Publicado por Pequeña Aprendiz (3 intervenciones) el 21/06/2005 17:44:00
Tengo un problema al validar con java Scrip. tengo un formulario que recoge ciertos valores y luego con un ONSUBMIT los valido, de hecho las validaciones las hace, el problema es que cuando hay un error que deba corregirse, como el formulario llama a otro archivo automaticamente se redirecciona a este otro archivo probe con otras propiedades pero ninguna me sirvio. Aqui escribo el codigo pa ver si me pueden ayudar.

<HTML>
<HEAD>
<TITLE>Insertar.html</TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></HEAD>
<BODY bgcolor="#99FFFF" link="#000000" leftmargin="5" topmargin="5" marginwidth="5" marginheight="5">
<div align="center">
<h2 align="left"><strong><font color="#003399" face="Times New Roman, Times, serif"><em><font color="#000000">Ingresar Nuevo Empleado</font></em></font></strong></h2>

<h2 align="left"><font color="#000000"><em><font face="Times New Roman, Times, serif">Datos
Personales </font></em></font></h2>

<script language="JavaScript">
/* dice si cadena es texto no vacio o no */
function vacio(cadena)
{ // DECLARACION DE CONSTANTES
var blanco = " \n\t" + String.fromCharCode(13); // blancos
// DECLARACION DE VARIABLES
var i; // indice en cadena
var es_vacio; // cadena es vacio o no
for(i = 0, es_vacio = true; (i < cadena.length) && es_vacio; i++) // INICIO
es_vacio = blanco.indexOf(cadena.charAt(i)) != - 1;
return(es_vacio);
}

function Validarfecha(Cadena){
var Fecha= new String(Cadena) // Crea un string
var RealFecha= new Date() // Para sacar la fecha de hoy
// Cadena Año
var Dia= new String(Fecha.substring(Fecha.lastIndexOf("/")+1,Fecha.length))
// Cadena Mes
var Mes= new String(Fecha.substring(Fecha.indexOf("/")+1,Fecha.lastIndexOf("/")))
// Cadena Día
var Ano= new String(Fecha.substring(0,Fecha.indexOf("/")))

// Valido el Mes
if (isNaN(Mes) || parseFloat(Mes)<1 || parseFloat(Mes)>12){
alert('Mes inválido')
return false
}
// Valido el Dia
if (isNaN(Dia) || parseInt(Dia)<1 || parseInt(Dia)>31){
alert('Día inválido')
return false
}
if (Mes==4 || Mes==6 || Mes==9 || Mes==11 || Mes==2) {
if (Mes==2 && Dia > 28 || Dia>30) {
alert('Día inválido')
return false
}
}
// Valido el año
if (isNaN(Ano) || parseInt(Ano)<4 || parseFloat(Ano)<1900){
alert('Año inválido')
return false
}

//para que envie los datos, quitar las 2 lineas siguientes
//alert("Fecha correcta.")
return false
}
function validarEntero(valor){
//Compruebo si es un valor numérico
if (isNaN(valor)) {
//entonces (no es numero) devuelvo el valor cadena vacia
//alert ("Ese valor no es una cedula");
return ""
}else{
//En caso contrario (Si era un número) devuelvo el valor
return valor
}
}

// ejemplo validacion formulario
function ValidaCampos(form)
{
if(vacio(form1.nom_emp.value))
alert("Ingrese el Nombre del trabajador.");
else if(validarEntero(form1.cedula.value))
alert("El valor de cedula es incorrecto.");
else if(Validarfecha(form1.fecha_nac.value))
alert("Formato de fecha Incorrecto.");
/* else if(!url(form.url.value))
alert("Dirección del sitio incorrecta."); */
else
//sustituir esta linea por return(true) para hacer el submit de un formulario real
//alert("El Nombre es correcto");
return(false);
}

<!-- "
--></script>


<form name="form1" method="post" onSubmit=" return ValidaCampos(this)" action="Insertar.php" >
<p align="left"><strong><font face="Times New Roman, Times, serif"><strong><em>Nombre</em></strong></font><br>
<input name="nom_emp" type="TEXT" >
<br>
</strong><font face="Times New Roman, Times, serif"><strong><em>Cédula</em></strong></font>
<br>
<INPUT TYPE="TEXT" NAME="cedula" ><br>
<strong><font size="3" face="Times New Roman, Times, serif"><em>Fecha de Nacimiento</em>
</font></strong><font size="3" face="Times New Roman, Times, serif"><font size="1"><em>(1900
/ 01 /15</em>)</font></font> <br>
<INPUT TYPE="TEXT" NAME="fecha_nac">
<br>
<font face="Times New Roman, Times, serif"><strong><strong>Sexo</strong> </strong></font><br>
<select name= "sexo">
<option value= "F" >F</option>
<option value ="M">M</option>
</select>
<br>
<font face="Times New Roman, Times, serif"><strong><em>Edad</em></strong></font> <br>
<input type="TEXT" name="edad" SIZE="10">
<br>
<strong><font face="Times New Roman, Times, serif"><em>Profesion</em></font></strong>
<br>
<input type="TEXT" name="profesion">
<br>
<strong> <font face="Times New Roman, Times, serif"><em>Status</em></font></strong><br>
<select name="status">
<option value = "activo">Activo</option>
<option value = "inactivo">Inactivo</option>
</select>
<br>
<font face="Times New Roman, Times, serif"><strong><em>Tipo de Empleado</em></strong></font><br>
<select name="tipo_emp">
<option value = "Nomina Contratada">Nomina Contratada</option>
<option value = "Nomina Fija">Nomina Fija</option>
</select>
<br>
<br>
<input name="Aceptar" type="submit" value="Aceptar">
<input name="Cancelar" type="reset" value="Cancelar">

</form>

<div align="right"></div>
</BODY>
</HTML>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Mi validacion

Publicado por Fernando (9 intervenciones) el 18/11/2005 04:47:41
Solo un comentario con respecto al validar fecha
te faltaria agregarle lo de los años bisiestos, a menos q no los quieras considerar
los bisiestos son los años multiplos de 4
saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar