2011-01-06 21 views
0

ASP.NET MVC 3でリモート検証を実行しようとしていますが、何らかの理由で検証が実行されません。私はコントローラーからjsonを返しています。FireFoxでは、ファイルをダウンロードするように私に求めています。ここで何が起こっているのか分かりません。ここでASP.NET MVCのリモート検証3

@using(Html.BeginForm(new {Action = "ValidateUserName"})) { 

<text> Enter UserName: </text> @Html.TextBoxFor(x => x.UserName) 

<input type="submit" value="Login" /> 



} 

RegistrationViewModelされています:ここに私のコードです

public class RegistrationViewModel 
    { 
     [Required(ErrorMessage = "UserName is required!")] 
     [Remote("ValidateUserName","Home",ErrorMessage ="UserName already taken!")] 
     public string UserName { get; set; } 
    } 

そしてここにHomeControllerです:

public ActionResult ValidateUserName(RegistrationViewModel registrationViewModel) 
     { 
      return Json(!registrationViewModel.UserName.Equals("test"),JsonRequestBehavior.AllowGet); 

     } 

答えて

2

は、物事のカップルは、考慮すべき:

1)あなたの見解では、jqueryの検証と控えめなjavascriptライブラリを参照する必要があります:


    <script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script> 
    <script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script> 

2)また、あなたの見解では、Html.ValidationMessageFor(m => m。 属性):


    @Html.ValidationMessageFor(x => x.UserName) 

3)最後に、あなたはクライアント側の検証を有効にweb.configファイル内の2つのAppSettingsを持っていることを確認してください。


    <appSettings> 
     <add key="ClientValidationEnabled" value="true"/> 
     <add key="UnobtrusiveJavaScriptEnabled" value="true"/> 
    </appSettings> 

関連する問題