2011-01-06 2 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) Наконец, убедитесь, что у вас есть два AppSettings в файле web.config, которые позволяют проверку на стороне клиента.


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

Смежные вопросы