Foros del Web » Programando para Internet » ASPX (.net) »

Validación Javascript en ASP.NET sin enviar datos al servidor

Estas en el tema de Validación Javascript en ASP.NET sin enviar datos al servidor en el foro de ASPX (.net) en Foros del Web. 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, ...
  #1 (permalink)  
Antiguo 04/01/2012, 15:01
 
Fecha de Ingreso: enero-2012
Mensajes: 4
Antigüedad: 12 años, 3 meses
Puntos: 0
Pregunta Validación Javascript en ASP.NET sin enviar datos al servidor

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">        
          &nbsp;</td>
    </tr>
  #2 (permalink)  
Antiguo 10/02/2012, 10:15
Avatar de Fann_Lavigne  
Fecha de Ingreso: diciembre-2004
Mensajes: 622
Antigüedad: 19 años, 4 meses
Puntos: 12
Respuesta: Validación Javascript en ASP.NET sin enviar datos al servidor

Se me ocurre que podrias usar un CustomValidation para asi poder detenr la accion, es decir el post back a menos que el CustomValidator sea IsValid = True o Page.IsValid = True. El CustomValidator puedes asignarle tu funcion JS para que valide el TexBox que desees.
__________________
"Entre Mas Brillante Es Una Mente, Tiene Que Luchar Contra Demonios Internos Mas Poderosos"
[email protected]

Etiquetas: asp, dni, javascript, servidor, validar
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 15:22.