2012-05-19 3 views
2

Я пытаюсь использовать аннотацию удаленных данных в первый раз в MVC 3. Мне не хватает чего-то простого. Установка не запускает действие контроллера вообще, и я не вижу проблемы с рук.mvc 3 удаленная проверка не срабатывает

Я пытаюсь проверить имя пользователя для уникальности.

Вот настройка кода.

View Code

@Html.Raw(Html.Script("jquery.validate.min.js")) 
@Html.Raw(Html.Script("jquery.validate.unobtrusive.min.js")) 

<tr> 
      <td class="editor-label">@Html.LabelFor(model => model.UserName):</td> 
      <td class="editor-field">@Html.EditorFor(model => model.UserName)</td> 
      <td>@Html.ValidationMessageFor(model => model.UserName)</td> 
     </tr> 

ViewModel Код

[DisplayName("Username")] 
    [StringLength(100)] 
    [Remote("CheckIfUsernameExists", "UserProfile", ErrorMessage = "This username is taken. Please enter a different user name.")] 
    public string UserName { get; set; } 

Controller Код

[HttpGet] 
     public JsonResult CheckIfUsernameExists(string userName) 
     { 
      return Json("false"); 
     } 
+0

является проверка обжиг клиент для длины строки? – Rafay

+0

Вы можете найти другие варианты: http://stackoverflow.com/a/37366502/4146766 –

ответ

1

Проверьте настройки вы, проверка клиента и ненавязчивый должен быть включен

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

с тем, что следующий код должен работать

[Get] 
    public JsonResult CheckIfUsernameExists(string userName) 
    { 
     return Json(false,JsonRequestBehavior.AllowGet); 
    } 
+0

У меня было 2 режима просмотра в том же файле .cs и у меня была запись данных в неправильной модели. Кодекс работает как ожидалось сейчас, спасибо. – Matt