2010-12-01 31 views
0

我與使用遠程屬性數據註解的類:ASP.Net MVC3遠程數據註釋不工作

public class Person 
{ 
    [Remote("NameValidation","Validation", ErrorMessage = "Field is Invalid", Fields = "LastName")] 
    public string FirstName { get; set; } 
    public string LastName { get; set; } 
} 

在ValidationController:

public ActionResult NameValidation(string FirstName, string LastName) 
    { 
     bool isNameValid = true; 

     if (FirstName.Contains("John") && LastName.Contains("Doe")) 
     { 
      isNameValid = false; 
     } 

     return Json(isNameValid, JsonRequestBehavior.AllowGet); 
    } 

在視圖我有:

@{Html.EnableClientValidation(); } 
@using (Html.BeginForm()) 
{ 
    @Html.EditorFor(x => x.FirstName) @Html.ValidationMessageFor(x => x.FirstName) 
    @Html.EditorFor(x => x.LastName) @Html.ValidationMessageFor(x => x.LastName) 

    <input name="finishButton" type="submit" id="button" > 
} 

如果我還添加了如下所示的Required屬性,NameValidation纔會被調用:

public class Person 
{ 
    [Required] 
    [Remote("NameValidation","Validation", ErrorMessage = "Field is Invalid", Fields = "LastName")] 
    public string FirstName { get; set; } 
    public string LastName { get; set; } 
} 

如何讓遠程驗證工作而無需進行必需的驗證?

回答

0

更新到MVC3 RC2。我只是嘗試沒有Required屬性。它的工作。 我發現一件奇怪的事情是,有時候每次按鍵都會觸發遠程驗證,其他時間會發生變化