Foros del Web » Programando para Internet » Javascript »

Otra validacion q no sale.

Estas en el tema de Otra validacion q no sale. en el foro de Javascript en Foros del Web. Tengo tres campos fecha alta usuario y contraseña. El de fecha de alta digamos que esta dividido en tres diai, mesi, anoi, valido la fecha ...
  #1 (permalink)  
Antiguo 03/07/2002, 18:21
 
Fecha de Ingreso: abril-2002
Mensajes: 432
Antigüedad: 22 años
Puntos: 0
Otra validacion q no sale.

Tengo tres campos fecha alta usuario y contraseña. El de fecha de alta digamos que esta dividido en tres diai, mesi, anoi, valido la fecha para q sea correcta antes de pasar a los otros campos, lo hace to bien menos cuando introduzco el mes 02 q no sigue con la validacion se va. A qui pongo el codigo pa q le echeis un vistazo a ver q le pasa. :(
  #2 (permalink)  
Antiguo 03/07/2002, 18:23
 
Fecha de Ingreso: abril-2002
Mensajes: 432
Antigüedad: 22 años
Puntos: 0
Re: Otra validacion q no sale.

<script language="JavaScript">
<!--
function informacion ( form )
{
if (form.diai.value == ""){
alert( "Por favor, rellena el campo Día de Alta." );
form.diai.focus();
return false ;
}else if (form.mesi.value == "") {
alert( "Por favor, rellena el campo Mes de Alta." );
form.mesi.focus();
return false ;
}else if (form.anoi.value == "") {
alert( "Por favor, rellena el campo Año de Alta." );
form.anoi.focus();
return false ;
//Hasta aqui comprobamos que los campos tengan valor
//Ahora comprobamos que los datos sean correctos.
} else
if (form.mesi.value > 12 || form.diai.value > 31){
alert( "Fecha Incorrecta; Mes mmayor a 12 o día mayor a 31." );
form.mesi.focus();
return false ;
} else if ((form.mesi.value == 01 || form.mesi.value == 03 || form.mesi.value == 05 || form.mesi.value == 07 || form.mesi.value == 08 ||form.mesi.value == 10 || form.mesi.value == 12) &&
(form.Diai.value > 31)){
alert( "Fecha Incorrecta; Día mayor de 31." );
form.diai.focus();
return false;
} else if((form.mesi.value == 04 || form.mesi.value == 06 || form.mesi.value == 09 || form.mesi.value == 11) && (form.diai.value > 30)){
alert( "Fecha Incorrecta; Día mayor de 30." );
form.diai.focus();
return false;
} else if (form.mesi.value == 02){
var resto= form.anoi.value % 4 //Nota: % obtiene el resto de la division
if (form.diai.value >29){
alert( "Fecha Incorrecta; El mes de Febrero tine menos de 30 días." )
form.diai.focus();
return false;
} else if ((resto != 0) && (form.diai.value >28)) {
alert( "Mes de febrero con 28 días, no con 29." )
form.diai.focus();
return false;
}
}else
if (form.usuario.value == "") {
  #3 (permalink)  
Antiguo 03/07/2002, 18:25
 
Fecha de Ingreso: abril-2002
Mensajes: 432
Antigüedad: 22 años
Puntos: 0
Re: Otra validacion q no sale.

alert( "Por favor, rellena el campo Usuario/Socio." );
form.usuario.focus();
return false ;
}else if (form.password.value == "") {
alert( "Por favor, rellena el campo Contraseña." );
form.password.focus();
return false ;
}
return true ;
}
//-->

</script>


<form action="altas.asp" METHOD="post" onsubmit="return informacion(this);">
<div><div align="center"><center><tabl e border="0" cellpadding="0" width="750"
height="252" cellspacing="0">
<tr>
<td height="6" width="780" valign="top" align="left">  <div align="center"><center><tabl e
border="0" cellpadding="0" width="750" cellspacing="0">
<tr>
<td height="40" width="83"><font face="Verdana" size="1">Fecha Alta:</font></td>
<td height="40" width="206"><font face="Verdana" size="1"><select name="diai" size="1">
<option selected="Día">Día</option>
<option value="01">01</option>
<option value="02">02</option>
<option value="03">03</option>
<option value="04">04</option>
<option value="05">05</option>
<option value="06">06</option>
<option value="07">07</option>
<option value="08">08</option>
<option value="09">09</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
  #4 (permalink)  
Antiguo 03/07/2002, 18:26
 
Fecha de Ingreso: abril-2002
Mensajes: 432
Antigüedad: 22 años
Puntos: 0
Re: Otra validacion q no sale.

<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
</select><select name="mesi" size="1">
<option selected="Mes">Mes</option>
<option value="01">01</option>
<option value="02">02</option>
<option value="03">03</option>
<option value="04">04</option>
<option value="05">05</option>
<option value="06">06</option>
<option value="07">07</option>
<option value="08">08</option>
<option value="09">09</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
</select><select name="anoi" size="1">
<option selected>Año</option>
<option value="98">1998</option>
<option value="99">1999</option>
<option value="00">2000</option>
</select></font></td>
<td height="40" width="125"><div align="right"><p><font face="Verdana" size="1">Nombre
Usuario: </font></td>
<td height="40" width="131"><font face="Verdana" size="1"><input type="text"
name="usuario" size="10" maxlength="10" tabindex="2"></font></td>
<td height="40" width="83"><div align="right"><p><font face="Verdana" size="1">Contraseña:
</font></td>
<td height="40" width="122"><font face="Verdana" size="1"><input type="password"
name="password" size="10" maxlength="10" tabindex="3"></font></td>
</tr>
</table>
</center></div><div align="center"><center><tabl e border="0" cellpadding="0" width="750">
</table>
</center></div></td>
</tr>
</table>
</center></div></div>
  #5 (permalink)  
Antiguo 03/07/2002, 18:28
 
Fecha de Ingreso: abril-2002
Mensajes: 432
Antigüedad: 22 años
Puntos: 0
Re: Otra validacion q no sale.

<center><table border="0" cellpadding="0" width="750">
</table>
</center></div></td>
</tr>
</table>
</center></div></div><div align="center"><center><p&gt ;<input type="submit" value="enviar"> <input
type="reset" value="borrar" size="20" width="98" height="17"></p>
</center></div>
</form>

<p align="center"> </p>
</body>
</html>

a hi lo teneis un poco largo pero espero q me ayudeis a encontrar el problema. Graciaa
  #6 (permalink)  
Antiguo 03/07/2002, 18:32
Avatar de mikel_gomez  
Fecha de Ingreso: febrero-2001
Mensajes: 482
Antigüedad: 23 años, 2 meses
Puntos: 3
Re: Otra validacion q no sale.

Puedes usar una función de validación algo más corta y sencilla:

Código:
function validaFecha(dia, mes, ano) {
var mesNum     = parseInt(mes,10)-1;
var fechaAno   = new Date(parseInt(ano,10),1,1);
var fechaDate  = new Date(parseInt(ano,10),mesNum,parseInt(dia,10));
return (fechaAno.getFullYear() == fechaDate.getFullYear() 
&& mesNum == fechaDate.getMonth()) ? true : false;
}
Saludos.

<style>.t{font: 8pt verdana; text-decoration: none; color: black;}</style><hr><span class="t"><a href="mailto:[email protected]" class="t" style="font: 10pt;">Mikel Gómez</a><br>Hay que aprender mucho para saber poco.</span>
  #7 (permalink)  
Antiguo 03/07/2002, 18:34
Avatar de mikel_gomez  
Fecha de Ingreso: febrero-2001
Mensajes: 482
Antigüedad: 23 años, 2 meses
Puntos: 3
Re: Otra validacion q no sale.

Ejemplo casi completo (falta completar las listas desplegables):

Código:
&lt;html&gt;
&lt;head&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
function validaFecha(dia, mes, ano) {
var mesNum     = parseInt(mes,10)-1;
var fechaAno   = new Date(parseInt(ano,10),1,1);
var fechaDate  = new Date(parseInt(ano,10),mesNum,parseInt(dia,10));
return (fechaAno.getFullYear() == fechaDate.getFullYear() &amp;&amp;
mesNum == fechaDate.getMonth()) ? true : false;
}
function comprobarFecha() {
var dia = document.frm.dia[document.frm.dia.selectedIndex].value ;
var mes = document.frm.mes[document.frm.mes.selectedIndex].value ;
var ano = document.frm.ano[document.frm.ano.selectedIndex].value ;
alert('La fecha ' + ((validaFecha(dia,mes,ano))?'es válida':'NO es válida'));
}
&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;div&gt;
Validación de fechas
&lt;hr&gt;
&lt;form name=&quot;frm&quot;&gt;
Día:
&lt;select name=&quot;dia&quot;&gt;
&lt;option value=&quot;&quot;&gt;&lt;/option&gt;
&lt;option value=&quot;28&quot;&gt;28&lt;/option&gt;
&lt;option value=&quot;29&quot;&gt;29&lt;/option&gt;
&lt;option value=&quot;30&quot;&gt;30&lt;/option&gt;
&lt;option value=&quot;31&quot;&gt;31&lt;/option&gt;
&lt;/select&gt;
Mes:
&lt;select name=&quot;mes&quot;&gt;
&lt;option value=&quot;&quot;&gt;&lt;/option&gt;
&lt;option value=&quot;01&quot;&gt;Enero&lt;/option&gt;
&lt;option value=&quot;02&quot;&gt;Febrero&lt;/option&gt;
&lt;option value=&quot;03&quot;&gt;Marzo&lt;/option&gt;
&lt;option value=&quot;04&quot;&gt;Abril&lt;/option&gt;
&lt;/select&gt;
Año:
&lt;select name=&quot;ano&quot;&gt;
&lt;option value=&quot;&quot;&gt;&lt;/option&gt;
&lt;option value=&quot;1999&quot;&gt;1999&lt;/option&gt;
&lt;option value=&quot;2000&quot;&gt;2000&lt;/option&gt;
&lt;option value=&quot;2001&quot;&gt;2001&lt;/option&gt;
&lt;option value=&quot;2002&quot;&gt;2002&lt;/option&gt;
&lt;/select&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;input type=&quot;button&quot; value=&quot;Validar&quot; onclick=&quot;comprobarFecha();&quot;&gt;
&lt;/form&gt;
&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;
Saludos.

<style>.t{font: 8pt verdana; text-decoration: none; color: black;}</style><hr><span class="t"><a href="mailto:[email protected]" class="t" style="font: 10pt;">Mikel Gómez</a><br>Hay que aprender mucho para saber poco.</span>
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 11:07.