Я пытаюсь реализовать Remote Validation для поля в представлении. Все до сих пор работает, за исключением того, что параметр в методе контроллера проверки равен null, даже если поле содержит значение. Что я упустил?MVC4 Удаленная проверка Не получает значение параметра
Метод проверки Контроллер
public JsonResult IsVanityURL_Available(string VanityURL)
{
if (!_webSiteInfoRepository.GetVanityURL(VanityURL))
return Json(true, JsonRequestBehavior.AllowGet);
string suggestedUID = String.Format(CultureInfo.InvariantCulture,
"{0} is not available.", VanityURL);
for (int i = 1; i < 100; i++)
{
string altCandidate = VanityURL + i.ToString();
if (_webSiteInfoRepository.GetVanityURL(altCandidate)) continue;
suggestedUID = String.Format(CultureInfo.InvariantCulture,
"{0} is not available. Try {1}.", VanityURL, altCandidate);
break;
}
return Json(suggestedUID, JsonRequestBehavior.AllowGet);
}
Entity недвижимости
[DisplayName("Vanity URL")]
[Remote("IsVanityURL_Available", "Validation")]
[RegularExpression(@"(\S)+", ErrorMessage = "White space is not allowed.")]
[Editable(true)]
public string VanityURL { get; set; }
Посмотреть
<div class="row">
<div class="form-group col-md-12">
<div class="editor-label">
@Html.LabelFor(model => model.SelectedContact.WebSiteInfoes[0].VanityURL)
</div>
<div class="input-group margin-bottom-small">
<span class="input-group-addon"><i class="fa fa-external-link-square fa-fw"></i></span>
@Html.TextBoxFor(model => model.SelectedContact.WebSiteInfoes[0].VanityURL, new { @class = "form-control", @placeholder = "Enter Vanity URL" })
</div>
</div>
</div>
UPDATE Ответ на дубликате пост не фиксирует проблему.
возможный дубликат [Удаленная проверка для СПИСОК МОДЕЛЕЙ] (http://stackoverflow.com/questions/27513472/remote-validation-for-list-of-models) –
Спасибо за указатель Стивен. Я изменил файл jquery.validate с предлагаемым изменением и ничего не изменил. Параметр по-прежнему равен нулю. – Tim
Используйте свои инструменты браузера, чтобы поместить контрольную точку в файл js и убедитесь, что значение 'data' на самом деле' {VanityURL: someValue} ' –