Foros del Web » Programando para Internet » Jquery »

jQuery validator envia un formulario invalido

Estas en el tema de jQuery validator envia un formulario invalido en el foro de Jquery en Foros del Web. Saludos! Estoy trabajando desde hace rato con un formulario que tiene un SELECT, un TEXTAREA y como opcion un INPUT[text]. La cuestión es que al ...
  #1 (permalink)  
Antiguo 06/07/2015, 14:04
Avatar de fegm_4  
Fecha de Ingreso: febrero-2013
Mensajes: 114
Antigüedad: 11 años, 2 meses
Puntos: 8
jQuery validator envia un formulario invalido

Saludos! Estoy trabajando desde hace rato con un formulario que tiene un SELECT, un TEXTAREA y como opcion un INPUT[text]. La cuestión es que al validar el formulario, este aunque sea invalido se envía. El error se presenta en el SELECT puesto que no verifica que este cambia. Si alguien puede ayudarme a verlo mejor, lo agradeceria.

Código Javascript:
Ver original
  1. var newparameterform = $('#NewParameterUnitForm').validate({
  2.         onfocusout: function(element){
  3.             $(element).valid();},
  4.         onsubmit: true,
  5.         rules: {
  6.             ParameterSelect: {
  7.                 required: '#ValueNewParameter:not(:visible)',
  8.                 remote: {
  9.                     url: '../request/checkrepeated/',
  10.                     type: 'POST',
  11.                     cache: false,
  12.                     data: {
  13.                         from: function(){return $('#FromOrigin').val();},
  14.                         name: function(){return $('#ParameterSelect option:selected').text();},
  15.                         value: function(){return $('#ParameterSelect option:selected').val();},
  16.                         request: function(){return $('#IdRequest').val();},
  17.                         x: function(){return $('#IdUnit').val();},
  18.                         options: function(){
  19.                             var myarray = [];
  20.                             var i = 0;
  21.                             if(String($('#FromOrigin').val()) !== 'detail'){
  22.                                 $('#RequestTechnicalParameter tbody tr:nth-child('+ $('#RowOrigin').val() +')').find('.parameter-title').each(function(){
  23.                                     myarray[i] = $(this).text();
  24.                                     i++
  25.                                 });
  26.                             }
  27.                             return JSON.stringify( myarray );
  28.                         }
  29.                     }
  30.                 }
  31.             },
  32.             ValueNewParameter: {
  33.                 required: '#ValueNewParameter:visible',
  34.                 remote: {
  35.                     url: "../request/checknewparameter/",
  36.                     type: "post",
  37.                     cache: false,
  38.                     data: {
  39.                         name: function() {
  40.                             return $("#ValueNewParameter").val();
  41.                         }
  42.                     }
  43.                 }
  44.             },
  45.             ParameterValue: {required: true}
  46.         },
  47.         messages: {
  48.             ParameterSelect: {
  49.                 required: 'Este campo es obligatorio',
  50.                 remote: 'La unidad ya tiene establecido este parámetro. Cierre esta ventana y modifíquelo'},
  51.             ValueNewParameter: {
  52.                 required: 'Este campo es obligatorio',
  53.                 remote: 'El parámetro ya existe. Haga click en el botón y seleccione su opción'},
  54.             ParameterValue: {required: 'Este campo es obligatorio'}
  55.         },
  56.         invalidHandler: function(event, validator) {
  57.             alert('El formulario no es valido');
  58.         },
  59.         submitHandler: function(form){
  60.             var $form = $(form);
  61.             var $inputs = $form.find("input, select, button, textarea");
  62.             var serializedData = $form.serialize();
  63.             var btn = $('#SetParameterUnitAction');
  64.             $.ajax({
  65.                 url: '../request/addparameter/', method: 'POST', cache: false, dataType: 'json',
  66.                 data: serializedData,
  67.                 beforeSend: function(){
  68.                     $inputs.prop('disabled', true);
  69.                     btn.button('loading');
  70.                 },
  71.                 success: function(data){
  72.                    if(data.success == true){
  73.                        switch(data.origin){
  74.                            case 'detail':
  75.                                table_parameters.ajax.url('../request/getparametertable/?x='+data.x).load(null, false);
  76.                                break;
  77.                            default:
  78.                                var nrow = $('#RowOrigin').val();
  79.                                $('#RequestTechnicalParameter tbody tr:nth-child('+ nrow +')').find('td:nth-child(3)').append(data.html);
  80.                                break;
  81.                        }
  82.                        $('#SetParameterUnit').modal('hide')
  83.                    } else {
  84.                        alert(data.message);
  85.                    }
  86.                 },
  87.                 complete: function(){
  88.                     $inputs.prop('disabled', false);
  89.                     btn.button('reset');
  90.                     grecaptcha.reset(recaptcha3);
  91.                 }
  92.             });
  93.         }
  94.     });
__________________
--
Aqui fegm_4

Etiquetas: formulario
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 22:09.