Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/01/2011, 08:32
Avatar de decano
decano
 
Fecha de Ingreso: diciembre-2005
Ubicación: Montevideo, Uruguay
Mensajes: 146
Antigüedad: 18 años, 4 meses
Puntos: 0
Exclamación Mensajes personalizados con jQuery.validate

Buenos días foristas...anda con un drama con el plugin, resulta que necesito al validar los campos que me marque los errores con diferentes css, las label con una y los input o selec con otro...hasta el input llega bien pero cuando le agrego para las label se rompe todo, si le doy click de nuevo agrega y saca la clase "error" en la label y los input no son reflejados, les dejo el código y si alguien sabe por donde debo ir le agradecería mucho.

Código Javascript:
Ver original
  1. var msg=new Array();
  2.            var msg2=new Array();
  3.            $("#senDatos").validate({
  4.                    debug:true,
  5.                    onkeyup:false,
  6.                    validClass: "valido",
  7.                     rules: {
  8.                         codigo:{required:true,digits:true,maxlength:4,min:4},
  9.                         rut: {required:true,maxlength:9,min:9},
  10.                         region:{required:true},
  11.                         nombre: {required:true},
  12.                         apellido: {required:true},
  13.                         direccion: {required:true},
  14.                         comuna: {required:true},
  15.                         telefono_particular_numero: {required:true,digits:true},
  16.                         telefono_comercial: {digits:true},
  17.                         celular: {digits:true},
  18.                         email: {required:true,email:true}
  19.                     },
  20.                     errorPlacement: function(error, element) {
  21.                         var idelement=element.attr('id');
  22.                         var milabel=$("label[for="+idelement+"]");
  23.                         if(element.is(":input")){
  24.                               element.addClass('errorReplace').removeClass('error');
  25.                         }
  26.                         else if ( element.is(":select") ){
  27.                                 element.addClass('errorReplace').removeClass('error');
  28.                         }                      
  29.                         msg[milabel.attr("for")]=milabel.text();
  30.                         msg2['id']=idelement;
  31.                         $("#msj").fadeIn('slow').css("background","#FFFFE1",500);
  32.                         $("#resultados h2").remove();
  33.                         $("#resultados").hide();
  34.                         $(this.form).find(milabel.addClass('error'));
  35.                     },
  36.                     success:function(label){
  37.                         label.removeClass('error').text(msg[label.attr("for")]);
  38.                         $("input#"+msg2["id"]+"").removeClass('errorReplace');
  39.                         $("select#"+msg2["id"]+"").removeClass('errorReplace');
  40.                     },                   
  41.                     submitHandler: function(e) {
  42.                          jQuery(e).ajaxSubmit(options);
  43.                          return false;           
  44.                     }

Última edición por decano; 13/01/2011 a las 08:53