2012-04-27 49 views
0

我在我的頁面中有幾個文本輸入字段,還有幾個單選按鈕。現在,我需要在客戶端驗證它們,然後再將它們發送到服務器端(也有服務器端驗證)。使用jquery驗證字段和單選按鈕的最佳方法?

我確認使用jQuery和JavaScript的文本輸入,但現在我想知道這是真的,以驗證他們的最好方法是什麼?

這是怎麼用單選按鈕工作?

$('form').submit(function() { 
    validateForm($(this)) 
    return false; 
}); 

function validateForm(form) { 
    var FirstName=form.find('[name=FirstName]').val(); 
    if (!FirstName) { 
     alert('Etunimi puuttuu'); 
     return false; 
    } 
} 
+6

使用jQuery驗證插件http://bassistance.de/jquery-plugins/jquery-plugin-validation/ :) – GillesC 2012-04-27 11:11:13

+3

jQuery的驗證。有最好的。當你絕對肯定地確認每一個領域的形式......不接受任何替代。 – 2012-04-27 11:13:21

+0

您是否正在驗證任何特定數據,還是隻確保所有字段都不爲空?和單選按鈕一樣嗎? – 2012-04-27 11:15:59

回答

1

如果你只是驗證,以確保字段不爲空的話,我會添加一個類中的所有文本字段,像這樣

<input type="text" id="Firstname" class="validate" /> 

然後在各個領域的使用jQuery環帶班.validate並檢查它們是否有空白。然後,您可以選擇警告用戶的方式。

$('.validate').each(function(){ 

    if($(this).val().length === 0) 
    { 
     alert($(this).attr('id')+ " is blank"); 
    } 
}); 

單選按鈕,你可以通過測試:checked僞選擇

或類似的通過指定一個類分組集複選框在一起,然後遍歷它們來測試檢查,像這樣

if($('#myRadio').not(':checked')) 
{ 
    alert('Radio not checked'); 
} 

至少有一個已被檢查。

+0

謝謝,這是我想要做的方式,我知道jquery上有驗證器插件,但我不能/想要使用它們,因爲我想學習它,它不會在我的項目中很好地工作。 – Arto 2012-04-27 21:00:56

0

正如其他人已經提到,該輪已經發明瞭一個偉大的驗證工具。您可以下載,實驗並從jQuery validation plugin的文檔中學習。

您在標記中設置了規則,然後當您撥打validate()時,它會執行所有您希望驗證的內容並適當提醒用戶。如果它不適合您的特定情況,您甚至可以添加自定義驗證。

對於那將是多麼容易使用的例如jQuery驗證插件中的單選按鈕,see this post.

爲了驗證一個單選按鈕是否在沒有JQuery驗證檢查,下面應該工作:

//submit initiated 
if ($("[name=paymentMethod]:checked").size() ==0) { 
    alert("Select an option"); 
} 

並看到here