Foros del Web » Programando para Internet » ASP Clásico »

Validar datos después de formulario

Estas en el tema de Validar datos después de formulario en el foro de ASP Clásico en Foros del Web. Hola, foro: Tras meter datos en un formulario quisiera que después de darle al submit me validara determinados datos (no durante el formulario): La página ...
  #1 (permalink)  
Antiguo 29/06/2007, 03:27
 
Fecha de Ingreso: junio-2007
Mensajes: 12
Antigüedad: 17 años
Puntos: 0
Validar datos después de formulario

Hola, foro:

Tras meter datos en un formulario quisiera que después de darle al submit me validara determinados datos (no durante el formulario):

La página de validación sería de esta manera:

<SCRIPT LANGUAGE="JavaScript">

function nif(dni) {
numero = dni.substr(0,dni.length-1);
let = dni.substr(dni.length-1,1);
numero = numero % 23;
letra='TRWAGMYFPDXBNJZSQVHLCKET';
letra=letra.substring(numero,numero+1);
if (letra!=let)
alert('NIF incorrecto. Por favor, rectifíquelo');
}

</script>


strNif = Request.Form("strNIf")


If strnif = "" OR len(strnif) < 9 then
displayHeader()
Response.Write "<font size='3'><b>" & "Por favor,retroceda al formulario e introduzca el número de NIF con 9 dígitos." & "</b><br><br>" & "<font size='2'>" & "" & "<br><br>"
Response.Write "<hr color='#cccccc' size='1' noshade>"
Response.End

Lo que quisiera es que, tras comprobar que tiene 9 dígitos y que no es correcto el número introducido saliera otro response.Write de esta manera:

If strnif <>nif(strnif) <--Aquí es donde tengo la duda displayHeader()
Response.Write "<font size='3'><b>" & "No es correcto el número introducido. Retroceda al formulario y revíselo." & "</b><br><br>" & "<font size='2'>" & "" & "<br><br>"
Response.Write "<hr color='#cccccc' size='1' noshade>"
Response.End

¿Cómo lo hariais?
Saludos
  #2 (permalink)  
Antiguo 29/06/2007, 04:04
 
Fecha de Ingreso: enero-2006
Ubicación: Torroles (Costa der Só)
Mensajes: 1.017
Antigüedad: 18 años, 5 meses
Puntos: 7
Re: Validar datos después de formulario

Supongo que lo que quieres es validarlo con JavaScript, ¿no? Es decir, antes de enviarlo y despues de pulsar el botón de submit. De esto se encarga el evento onSubmit del tag FORM.

Este seria el código en el HTML del formulario.

Código:
<form id="form1" name="form1" method="post" action="otrapagina.asp" onSubmit="return validaDatos()">
...
<input type="text" name="nif" />
<input type="submit" name="Submit" value="Enviar" />
</form>
onSubmit realiza el envio siempre y cuando la respuesta que recibe no sea false. Ahora nos toca el código JavaScript

Código:
<SCRIPT LANGUAGE="JavaScript">

function nif(dni) {
  numero = dni.substr(0,dni.length-1);
  let = dni.substr(dni.length-1,1);
  numero = numero % 23;
  letra='TRWAGMYFPDXBNJZSQVHLCKET';
  letra=letra.substring(numero,numero+1);
return (letra!=let);
}

function validaDatos() {
    var formu = document.form1;

    if(!nif(formu.nif.value)) {
                 alert('NIF incorrecto. Por favor, rectifíquelo');
            formu.nif.focus();
            return false;
    }

    return true;
}

</script>
Si las funciones devuelven false el formulario no se enviará.

Un problema añadido al uso de JavaScript para validar formularios son quellos usuarios que tienen deshabilitada la opción de JavaScript en su navegador. Para ello, lo mejor es volver a chequear los valores del formulario una vez enviado al servidor. Esta vez por parte del ASP.

Código:
function nif(dni) 
     nif = ""
       numero = mid(dni, 1, len(dni)-1)
     let = mid(dni, len(dni)-1,1)
     numero = CInt(numero Mod 23)
     letra="TRWAGMYFPDXBNJZSQVHLCKET"
     letra=mid(letra,numero,numero+1)
     if letra <> let then nif = "NIF incorrecto. Por favor, rectifíquelo"
end function

' Chequearlo seria asi
if nif(request.Form("nif")) <> "" then
     ' Visualiza el error y vuelve a presentar el formulario
else
     ' Todo ha ido bien. Guardamos los datos
end if
Espero que fuera esto lo que querias.


Un saludo
__________________
"Tus pecados son el estiércol sobre el que florecerán las flores de tus virtudes" - Gerald Messadié -
  #3 (permalink)  
Antiguo 30/06/2007, 01:31
 
Fecha de Ingreso: junio-2007
Mensajes: 12
Antigüedad: 17 años
Puntos: 0
Re: Validar datos después de formulario

Gracias, Tammander, por contestar.

Voy a probar lo que me has dicho.

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 11:11.