2011-04-11 83 views
0

我創建了一個表單,通過jQuery AJAX發佈和獲取結果。現在我需要在它上面添加一些驗證內容。我想知道如何去做。我應該使用jQuery驗證插件嗎?如果我使用它,如果我猜對了 - 沒有必要用DataAnnotations屬性來裝飾模型,它們不再有任何意義,對吧?jQuery Ajax驗證和DataAnnotations屬性

所以基本上是我說:我用的是普通的HTML表單Html.BeginForm(),而不是一個AJAX形式,然後我重寫表單的提交()函數

$("form[action$='UpdateCalendarForm']").submit(function() 
{ 
    $.ajax({ 
      url: $(this).attr("action"), 
      contentType: 'application/json; charset=utf-8', 
      type: "POST", 
      data: JSON.stringify(calendarData), 
      dataType: "json", 
      success: updateCalendarCallback 
      }); 
    return false; // it wouldn't actually rerender the page 
}); 

function updateCalendarCallback(result){ 
// And here I just do something on the page 
} 

什麼在這裏添加一些驗證的最佳方法沒有Ajax幫助器方法(但使用jQuery)和Model屬性上的DataAnnotations屬性。

回答

2

布拉德威爾遜有很棒的video on mvcConf關於驗證。以下是開始在mvc3上實施自定義驗證所需的所有信息。

+0

我不需要自定義驗證功能(至少尚未)。我的模型中有一個屬性用RequiredAttribute裝飾,並且它不起作用,因爲我使用的是jQuery ajax。在這種情況下如何強制客戶端驗證? – Agzam 2011-04-11 18:45:37

+0

這是我的不好。我錯過了 jquery.validate.min.js 和 jquery.validate.unobtrusive.min.js – Agzam 2011-04-11 19:25:20