MVC 3 указание триггера валидации для удаленной валидации [дубликат]
На этот вопрос уже есть ответ:
ASP.net MVC 3 Проверка jQuery; Отключить ненавязчивый OnKeyUp? 6 ответовЯ реализовал удаленную проверку с использованием ненавязчивой проверки MVC 3 следующим образо
Модел
public class MyViewModel {
[Remote("ValidateAction", "Validation")]
public string Text { get; set; }
}
Контроллер
public partial class ValidationController : Controller
{
public virtual JsonResult ValidationAction(string aTextToValidate)
{
if(aTextToValidate == /* some condition */)
return Json(true, JsonRequestBehavior.AllowGet);
return Json("This is not valid, Try Again !", JsonRequestBehavior.AllowGet);
}
}
Ви
@using (Html.BeginForm() {
@Html.TextBoxFor(m => m.Text)
@Html.ValidationMessageFor(m => m.Text)
}
И все, все работает, но ValidationAction запускается при каждом нажатии клавиши, что не идеально, я хотел бы просто срабатывать, когда элемент теряет фокус, но не могу понять, как это сделать
ОБНОВИТНа самом деле я заметил, что по умолчанию проверка срабатывает onBlur один раз .i.e. в первый раз, когда элемент теряет фокус, однако при попытке исправить его, затем запускается проверка onKeyUp. Я думаю, что это предназначенная функциональность, и размышления о ней, вероятно, весьма полезны. Однако было бы полезно узнать, возможно ли изменить это поведени