2011-04-11 51 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