2016-02-10 32 views
1

我有一個Ajax的形式是這樣的:jQuery的表現公式驗證

$(function() { 
    $('.send').click(function(e) { 
    $.ajax({ 
     url: 'email.php', 
     type: 'POST', 
     data: { 
     'message': $('.inner').html(), 
     'email': $('[name="email"]').val(), 
     'name': $('[name="name"]').val(), 
     'preis': $('.overallprice').html()  
     }, 
     success: function(data) { 
     alert('Ihre Daten wurden erfolgreich gesendet'); 
     } 
    }); 
    }); 
}); 

我希望腳本,以檢查是否有人正確填寫表單(姓名&郵件)。試圖使用.checkValidity(),但我不能得到它的工作。

+0

使用引導驗證器或您的自定義驗證,在調用ajax之前,您應該調用您的驗證,並且一切都很好,然後只調用ajax –

+0

請包括您嘗試使用checkValidity()的結果。經驗法則需要是「顯示,不要告訴」。 「我無法工作」一語並未傳達任何有用的信息。 – OYRM

回答

0

你應該使用jQuery驗證插件(http://jqueryvalidation.org/),這是真的很強大。大部分基礎工作已經完成,並且是驗證任務最重要的方面之一,它已經過測試!

你可以簡單地定義如下規則:

rules: { 
     address: "required", 
     postal_code: { 
      required: true, 
      minlength: 5, 
      maxlength: 5, 
      digits: true 
     }, 
     locality: "required", 
     house_number_1: { 
      number: true, 
      required: true 
     }, 

而且一個真棒特點是,你可以簡單地擴展它像

house_number_2: { 
      mySelfDefinedRule: true 
     }, 

和規則可以這樣定義:

$j.validator.addMethod("mySelfDefinedRule", function (value, element) { 
    if ($j("#input_traffic_houseNumber2").val() === "") { 
     return true; 
    } else { 
     return parseInt($j("#input_traffic_houseNumber1").val()) <= parseInt(value); 
    } 

}, 'Must be greater then HouseNumber One'); 

上面的代碼只是一個簡單/簡單的例子,向您展示瞭如何使用。希望能幫到你!