2014-09-09 7 views
1

Этот код работает, но мне нужно его, чтобы в основном выполнить if If else в поле id. Если длина id> 0, тогда не проверяйте имя, zipcode по мере необходимости. Если идентификатор не равен> 0, тогда проверьте имя, zipcode и т. Д. По мере необходимости. Ваши предложения приветствуются. Спасибо,Правила проверки JQuery с оператором If/Else

runAllForms(); 
$(function() { 
$("#artist_create_event").validate({ 

     // Rules for form validation 
     rules : { 
      artist_create_event_name : { 
       required : true 
      }, 
      artist_create_event_desc : { 
       required : true 
      }, 
      id : { 
       required : true 
      }, 
      name : { 
       required : true 
      }, 
      zipcode : { 
       required : true 
      }, 
      venue_name : { 
       required : true 
      }, 
      city : { 
       required : true 
      }, 
      state : { 
       required : true 
      }, 
      location : { 
       required : true 
      }, 
      event_address : { 
       required : true 
      } 
     }, 

     // Messages for form validation 
     messages : { 
      artist_create_event_name : { 
       required : 'Enter Event Name' 
      }, 
      artist_create_event_desc : { 
       required : 'Enter Event Description' 
      }, 
      name : { 
       required : 'Enter Venue Name' 
      }, 
      zipcode : { 
       required : 'Please enter Zipcode/Postalcode' 
      }, 
      venue_name : { 
       required : 'Enter Venue Name' 
      }, 
      city : { 
       required : 'Please enter City' 
      }, 
      state : { 
       required : 'Please enter State' 
      }, 
      location : { 
       required : 'Please enter Country' 
      }, 
      event_address : { 
       required : 'Please enter Address' 
      } 
     }, 

// Do not change code below 
     errorPlacement : function(error, element) { 
      error.insertAfter(element.parent()); 
     }, 
    // Ajax form submition 
    submitHandler: function() { 
    $('#artist_create_event').hide(0); 
    $('#art_event_message').hide(0); 
    $.ajax({ 
     url : 'artist_update_event.php', 
     type : 'POST', 
     dataType : 'json', 
     data: { 
      artist_create_event_name: $('#artist_create_event_name').val(), 
      artist_create_event_desc: $('#artist_create_event_desc').val(), 
      name: $('#name').val(), 
      city: $('#city').val(), 
      state: $('#state').val(), 
      location: $('#location').val(), 
      zipcode: $('#zipcode').val(), 
      event_address : $('#event_address').val(), 
      event_address2 : $('#event_address2').val() 
     }, 
     success : function(data){ 
      $('#art_event_message').removeClass().addClass((data.error === true) ? 'error' :  'success') 
       .text(data.msg).show(500); 
      if (data.error === true) { 
       if (data.goto == 1)  { 
delete json; 
       } 
       else { 
       $('#artist_create_event').show(500); 
delete json; 
       } 
       } 
      if (data.error === false) { 

       $('#artist_create_event').show(500); 
delete json; 
       } 
       }, 
     error : function(XMLHttpRequest, textStatus, errorThrown) { 
      $('#art_event_message').removeClass().addClass('error') 
alert('The error was: '+errorThrown); 
alert('The error was: '+XMLHttpRequest); 
alert('The error was: '+textStatus); 
//     .text('response.Text').show(500); 
      $('#artist_create_event').show(500); 
     } 
    }); 

    return false; 
    } 

    }); 

}); 

ответ

0

Предполагая, что идентификатор является идентификатором текстового поля. Вы можете сделать это:

name : { 
      required : $("#id").val().length <= 0 
     }, 

    zipcode : { 
      required : $("#id").val().length <= 0 
     }, 
+2

Ternery никогда не нуждается в '? false: true 'like this - вместо этого может быть выражено просто как логическое' {required: $ ("# id"). val(). length <= 0), ' –

+0

Правый стефан .. позвольте мне обновить свой ответ – masum7

+0

Не беспокойтесь, я сделал это уже :) – masum7

1

Вы можете передать значение требуется в качестве функции, как указано ниже, при условии, id это имя поля ввода оператора

var $id = $('input[name="id"]') 
$("#artist_create_event").validate({ 

    // Rules for form validation 
    rules: { 
     artist_create_event_name: { 
      required: true 
     }, 
     artist_create_event_desc: { 
      required: true 
     }, 
     id: { 
      required: true 
     }, 
     name: { 
      required: function() { 
       return $id.val().length > 0; 
      } 
     }, 
     zipcode: { 
      required: function() { 
       return $id.val().length > 0; 
      } 
     }, 
     venue_name: { 
      required: true 
     }, 
     city: { 
      required: true 
     }, 
     state: { 
      required: true 
     }, 
     location: { 
      required: true 
     }, 
     event_address: { 
      required: true 
     } 
    }, 

    // Messages for form validation 
    messages: { 
     artist_create_event_name: { 
      required: 'Enter Event Name' 
     }, 
     artist_create_event_desc: { 
      required: 'Enter Event Description' 
     }, 
     name: { 
      required: 'Enter Venue Name' 
     }, 
     zipcode: { 
      required: 'Please enter Zipcode/Postalcode' 
     }, 
     venue_name: { 
      required: 'Enter Venue Name' 
     }, 
     city: { 
      required: 'Please enter City' 
     }, 
     state: { 
      required: 'Please enter State' 
     }, 
     location: { 
      required: 'Please enter Country' 
     }, 
     event_address: { 
      required: 'Please enter Address' 
     } 
    }, 

    // Do not change code below 
    errorPlacement: function (error, element) { 
     error.insertAfter(element.parent()); 
    }, 
    // Ajax form submition 
    submitHandler: function() { 
     $('#artist_create_event').hide(0); 
     $('#art_event_message').hide(0); 
     $.ajax({ 
      url: 'artist_update_event.php', 
      type: 'POST', 
      dataType: 'json', 
      data: { 
       artist_create_event_name: $('#artist_create_event_name').val(), 
       artist_create_event_desc: $('#artist_create_event_desc').val(), 
       name: $('#name').val(), 
       city: $('#city').val(), 
       state: $('#state').val(), 
       location: $('#location').val(), 
       zipcode: $('#zipcode').val(), 
       event_address: $('#event_address').val(), 
       event_address2: $('#event_address2').val() 
      }, 
      success: function (data) { 
       $('#art_event_message').removeClass().addClass((data.error === true) ? 'error' : 'success') 
        .text(data.msg).show(500); 
       if (data.error === true) { 
        if (data.goto == 1) { 
         delete json; 
        } else { 
         $('#artist_create_event').show(500); 
         delete json; 
        } 
       } 
       if (data.error === false) { 

        $('#artist_create_event').show(500); 
        delete json; 
       } 
      }, 
      error: function (XMLHttpRequest, textStatus, errorThrown) { 
       $('#art_event_message').removeClass().addClass('error') 
       alert('The error was: ' + errorThrown); 
       alert('The error was: ' + XMLHttpRequest); 
       alert('The error was: ' + textStatus); 
       //     .text('response.Text').show(500); 
       $('#artist_create_event').show(500); 
      } 
     }); 

     return false; 
    } 

}); 
+0

Спасибо. Я дам вам попытку и отчитаюсь. Спасибо, –

+0

@GrantNoel вам, возможно, придется проверять '$ id.val(). Length> 0' на основе того, что вам нужно ... например, проверять что-либо, вводить в поле' id' или оно не имеет значения '' '' или '0' –

+0

@GrantNoel, если переданная функция возвращает true, поле обязательное другое не требуется –

Смежные вопросы