Hola comunidad primera vez que pido ayuda espero que se pueda hacer algo.
Quiero validar un DNI y el javascript ya me hace el trabajo, de indicarme el digito verificador.
Pero quiero que me detenga la orden de entrega de datos al servidor, y lo que hace es validar y mostrar los datos aunque esten incorrectos
La validacion es esta
Código:
function validarut() {
elRut = document.getElementById("ctl00_ContentPlaceHolderPrincipal_ucDatosUsuarioApp_tbxRut");
strrut = elRut.value;
eldv = document.getElementById("ctl00_ContentPlaceHolderPrincipal_ucDatosUsuarioApp_tbxDv");
var dvUser = parseInt(eldv.value);
var arut = new Array(8);
var i, j, dv;
if ((strrut.length) = 0) {
window.alert("Debe ingresar un Número de Rut");
return false;
}
else {
for (i = 1; i < 9; i++) {
arut[i] = 0;
}
i = 0
for (j = (9 - (strrut.length)); j < 9; j++) {
if ((strrut.substr(i, 1) >= 0) & (strrut.substr(i, 1) <= 9)) {
arut[j] = strrut.substr(i, 1); i++;
}
else {
window.alert("Debe ingresar sólo números!!!");
i = 0;
return false;
break;
}
}
if (i > 0) {
dv = 11 - (((arut[1] * 3) + (arut[2] * 2) + (arut[3] * 7) + (arut[4] * 6) + (arut[5] * 5) + (arut[6] * 4) + (arut[7] * 3) + (arut[8] * 2)) % 11)
if (dv === 10) {
dv = "K";
}
else if (dv === 11) {
dv = "0";
}
if (dv == dvUser) {
//DEBE MOSTRAR LOS DATOS DEL SERVIDOR
return true;
} else {
window.alert("El Rut no es valido");
return false;
}
return dv
}
}
y la pagina aspx seria esto
Código:
<tr class="fondo_gris">
<td>Rut</td>
<td>
<asp:TextBox ID="tbxRut" runat="server" CssClass="campo_texto" MaxLength="8"
Width="60px"/>
<asp:TextBox ID="tbxDv" runat="server"
CssClass="campo_texto" MaxLength="1"
Width="16px" onblur="return validarut();"
ontextchanged="tbxDv_TextChanged" AutoPostBack="true" />
</td>
<td colspan="3">
</td>
</tr>