2013-12-14 41 views
0

我想動態綁定驗證一個地址驗證表單的ajax響應。我已經嘗試了一些東西,但似乎無法得到這個工作。這是迄今爲止我所得到的任何幫助,所有的console.log都在工作。jquery驗證,動態綁定表單驗證

$('#profileAddresses form').each(function() { 
      console.log('each'); 
      var _id = $(this).prop('id'); 
      var _idNum = _id.split('-'); 
      var _input = _idNum[1]; 
      var line1 = 'profile' + _input + 'Line1'; 
      var city = 'profile' + _input + 'City'; 
      var state = 'profile' + _input + 'State'; 
      var zip = 'profile' + _input + 'Zip'; 
      var country = 'profile' + _input + 'Country'; 
      $(this).validate({ 
       onkeyup: false, 
       errorClass: 'error', 
       errorElement: 'div', 
       onfocusout: false, 
       errorPlacement: function(error, element) { 
        error.insertBefore(element); 
       }, 
       rules: { 
        line1: { 
         required: true 
        }, 
        city: { 
         required: true 
        }, 
        state: { 
         required: true 
        }, 
        zip: { 
         required: true, 
         minlength: 5 
        }, 
        country: { 
         required: true 
        } 
       }, 
       messages: { 
        line1: { 
         required: 'Please enter a street address.' 
        }, 
        city: { 
         required: 'Please select a city.' 
        }, 
        state: { 
         required: 'Please select a state.' 
        }, 
        zip: { 
         required: 'Please enter a zip code.', 
         minlengh: 'Pleaes enter a valid zip code.' 
        }, 
        country: { 
         required: 'Please select a country.' 
        } 
       } 
      }); 
     }); 
+0

@Sparky感謝您花時間編輯標籤並且不回覆問題。此外,你刪除了與這個問題有關的一切的驗證,並添加了與問題無關的ajax。業餘時間,不知道垃圾郵件發送者如何積累聲望點。 – user1572796

+0

因爲我已經回答了650個關於[tag:jquery-validate]的問題......那就是如此。我沒有義務幫助任何特定用戶,所以我真的很抱歉,您的感受因爲我跳過您的感覺而受到傷害。刪除了[tag:validation]標籤,因爲它已經標記爲[tag:jquery-validate]。 (注意4,000個jQuery Validate問題的[少數幾個](http://stackoverflow.com/questions/tagged/jquery-validate+validation)被標記爲兩者。)標記爲'ajax',因爲你說,_「我正在嘗試動態綁定** ajax響應**「_上的驗證。有一個糟糕的一天? – Sparky

+1

這只是一個retag。另外,我不認爲你知道垃圾郵件發送者是什麼。另外,@Sparky是對的,即使他們編輯它,也沒有人有義務回答你的問題。 – BoltClock

回答

0

這似乎工作incase別人遇到這個問題,只需在窗體上設置驗證,然後將規則添加到輸入。我爲每個類添加了一個類,以便可以更改所需的消息或要求。

$('#profileAddresses form').each(function() { 
      $(this).validate({ 
       onkeyup: false, 
       errorClass: 'error', 
       errorElement: 'div', 
       onfocusout: false, 
       errorPlacement: function(error, element) { 
        error.insertBefore(element); 
       } 
      }); 
      var _id = $(this).prop('id'); 
      $('#' + _id + ' input').each(function() { 
       if($(this).hasClass('profileAddressZip')) { 
        $(this).rules('add', { 
         required: true, 
         messages: { 
          required: 'Required msg.' 
         } 
        }); 
       } 

      }); 
     });