2016-04-15 3 views
0

Я использую удаленный валидатор, но он не работает, даже отладчик не отслеживает этот метод.Удаленная проверка не работает в mvc.

 public JsonResult CheckStrategyName(string StrategyName) 
     { 
      var ab = from a in db.Sterategy where a.StrategyName == StrategyName select a.StrategyName; 

      return !ab.Any() ? Json(true, JsonRequestBehavior.AllowGet) : Json(string.Format("Name Already esists"), JsonRequestBehavior.AllowGet); 
     } 

Я использовал его здесь

 [Required] 
     [Remote("CheckStrategyName", "St", ErrorMessage = "Already exists ")]  
     [Display(Name = "Name")] 
     public string StrategyName { get; set; } 

WebConfig

<appSettings> 
    <add key="webpages:Version" value="3.0.0.0" /> 
    <add key="webpages:Enabled" value="false" /> 
    <add key="ClientValidationEnabled" value="true" /> 
    <add key="UnobtrusiveJavaScriptEnabled" value="true" /> 
    </appSettings> 

Где я делаю ошибку? :(

ответ

1

Ваш сервер код & настройки, кажется, хорошо. Убедитесь, что следующие на месте

  1. Вы используете вспомогательный метод TextBoxFor для создания соответствующего поля ввода разметки и он находится внутри форма.

    @using (Html.BeginForm()) 
    {  
        @Html.TextBoxFor(s => s.StrategyName) 
        @Html.ValidationMessageFor(s => s.StrategyName)  
    
        <input type="submit" value="Submit" /> 
    } 
    
  2. Вы включили JavaScript библиотеки, необходимые для проверки.

    <script src="~/Scripts/jquery.js"></script> 
    <script src="~/Scripts/jquery.validate.js"></script> 
    <script src="~/Scripts/jquery.validate.unobtrusive.js"></script> 
    
+0

Я не включил эти библиотеки. Теперь он работает, спасибо большое. – Nil

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