MVC 3 указание триггера проверки для удаленной проверки [дубликат]

Я реализовал удаленную проверку с использованием ненавязчивой проверки 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 один раз. в первый раз, когда элемент теряет фокус, однако при попытке исправить это выполняется проверка onKeyUp. Я думаю, что это предназначенная функциональность, и подумать об этом, вероятно, будет весьма полезно. Однако было бы полезно узнать, можно ли изменить это поведение

5
задан divibisan 30 August 2018 в 18:34
поделиться