2013-08-24 140 views
0

我有一個C#asp.net MVC web應用程序,並且我正在使用System.ComponentModel.DataAnnotations進行表單驗證。表單驗證System.ComponentModel.DataAnnotations和JQuery提交

下面是驗證一個密碼字段的例子:

[Required] 
[StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 6)] 
[DataType(DataType.Password)] 
[Display(Name = "Password")] 
public string Password { get; set; 

在我看來,形式有:

@using (Html.BeginForm() { 
    @Html.AntiForgeryToken() 
    @Html.ValidationSummary(true) 

我打算使用jQuery提交我的表格/模型。

例子:

$.post("@Url.Action("Update")",values,function(data) 
{ 
    // do stuff; 
}); 

我的問題是:內置的形式驗證仍時有發生,即使我提出與jQuery的數據?

+0

你爲什麼不試試它? – WannaCSharp

+0

我認爲它的確如此。由於驗證是在服務器端的C#代碼中進行的。 jQuery是客戶端代碼。當你用jQuery提交請求時,服務器端代碼將被執行。但是,正如'WannaCSharp'所建議的那樣,試試吧。 –

回答

1

是的,它會的。在asp.net MVC中的驗證是作爲模型綁定的一部分完成的。因此,當您將表單數據發佈到更新操作時,驗證在數據綁定到您的模型時完成。

你可以在這裏閱讀更多關於它的信息:Validating Model Data in an MVC Application