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