Foros del Web » Programando para Internet » Javascript »

Validacion de datos

Estas en el tema de Validacion de datos en el foro de Javascript en Foros del Web. ¿Cómo puedo validar datos con HTML? Por ejemplo obligar al usuario a ingresar una fecha en un determinado formato. Desde ya muchas gracias, Tomás.-...
  #1 (permalink)  
Antiguo 28/06/2003, 16:31
 
Fecha de Ingreso: mayo-2003
Mensajes: 523
Antigüedad: 20 años, 11 meses
Puntos: 6
Validacion de datos

¿Cómo puedo validar datos con HTML? Por ejemplo obligar al usuario a ingresar una fecha en un determinado formato.

Desde ya muchas gracias,

Tomás.-
  #2 (permalink)  
Antiguo 28/06/2003, 16:40
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 5 meses
Puntos: 4
Pues me temo que con HTML no se puede. Puedes hacer que se pueda escribir en él o no y poco más. Para hacer lo que tú quieres has de recurrir a Javascript así que te recomiendo que les eches un ojo a las FAQ's de Javascript porque ahí hay soluciones a lo que pides.

Suerte.

Si alguien sabe cómo se puede hacer mediante HTML yo también se lo agradecería.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #3 (permalink)  
Antiguo 28/06/2003, 19:38
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
De HTML a JS... 3... 2... 1... YA!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #4 (permalink)  
Antiguo 29/06/2003, 16:38
Avatar de mifune  
Fecha de Ingreso: junio-2003
Ubicación: BCNeta
Mensajes: 466
Antigüedad: 20 años, 10 meses
Puntos: 0
Trasteando, trasteando he encontrado este script, sacado del ScriptMaster, para validar fechas. Con un poco de maña y algo de suerte igual ya te sirve.

- Validar Fechas:

<html>
<head>
<!-- PRIMER PASO: Copiar dentro del tag HEAD -->
<script language="JavaScript">

function esDigito(sChr){
var sCod = sChr.charCodeAt(0);
return ((sCod > 47) && (sCod < 58));
}

function valSep(oTxt){
var bOk = false;
bOk = bOk || ((oTxt.value.charAt(2) == "-") && (oTxt.value.charAt(5) == "-"));
bOk = bOk || ((oTxt.value.charAt(2) == "/") && (oTxt.value.charAt(5) == "/"));
return bOk;
}

function finMes(oTxt){
var nMes = parseInt(oTxt.value.substr(3, 2), 10);
var nRes = 0;
switch (nMes){
case 1: nRes = 31; break;
case 2: nRes = 29; break;
case 3: nRes = 31; break;
case 4: nRes = 30; break;
case 5: nRes = 31; break;
case 6: nRes = 30; break;
case 7: nRes = 31; break;
case 8: nRes = 31; break;
case 9: nRes = 30; break;
case 10: nRes = 31; break;
case 11: nRes = 30; break;
case 12: nRes = 31; break;
}
return nRes;
}

function valDia(oTxt){
var bOk = false;
var nDia = parseInt(oTxt.value.substr(0, 2), 10);
bOk = bOk || ((nDia >= 1) && (nDia <= finMes(oTxt)));
return bOk;
}

function valMes(oTxt){
var bOk = false;
var nMes = parseInt(oTxt.value.substr(3, 2), 10);
bOk = bOk || ((nMes >= 1) && (nMes <= 12));
return bOk;
}

function valAno(oTxt){
var bOk = true;
var nAno = oTxt.value.substr(6);
bOk = bOk && ((nAno.length == 2) || (nAno.length == 4));
if (bOk){
for (var i = 0; i < nAno.length; i++){
bOk = bOk && esDigito(nAno.charAt(i));
}
}
return bOk;
}

function valFecha(oTxt){
var bOk = true;
if (oTxt.value != ""){
bOk = bOk && (valAno(oTxt));
bOk = bOk && (valMes(oTxt));
bOk = bOk && (valDia(oTxt));
bOk = bOk && (valSep(oTxt));
if (!bOk){
alert("Fecha inválida");
oTxt.value = "";
oTxt.focus();
}
}
}
</script>
</head>

<body>
<!-- SEGUNDO PASO: Copiar dentro del tag BODY -->
<form name="f1">
<p>
Escriba cualquier cosa:
<input type="text" size="20" name="xxx">
</p>
<p>
Escriba una fecha (dd/mm/aaaa):
<input type="text" size="10" name="fec" onblur="valFecha(this)">
</p>
<p>
Escriba cualquier cosa:
<input type="text" size="20" name="yyy">
</p>
</form>
</body>
</html>

Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:47.