Проверка клиента с помощью Ajax POST и JsonResult - PullRequest
0 голосов
/ 07 января 2019

Вызов контроллера, который возвращает ModelState в Jsonresult, если ModelState имеет значение false, используя сообщение ajax. Как правильно связать ModelState с DOM?

Ниже я включил то, что сделал до сих пор.

Контроллер:

if (ModelState.IsValid)
{

}
else
{
    return new JsonResult(new { success = false, message = Utility.Errors(ModelState) });
}

JS:

$.ajax({

    url: "@Url.Action("UpdateBio", "BioData")",

    dataType: "json",
    type: "POST",
    data: formData,
    success: function (response) {

        if (response.success) {
            toastr.success(response.message);
        } else {
            DisplayErrors(response.message);
            toastr.error('Check form for validation errors!');
        }

    },
    error: function () {
        alert('An error occurred');
    }
});

Сценарий проверки:

 function DisplayErrors(errors) {
    for (var i = 0; i < errors.length; i++) {
        var key = errors[i].Key;
        var value = errors[i].Value[0];
        $("[asp-validation-for='" + key + "']").remove();
        $("<span asp-validation-for='" + key + "' class='text-danger'></span>").html(value).appendTo($("input#" + key).parent());
        $("input#" + key).attr("class", 'form-control aper-validation-input');
    }
}
...