Вызов контроллера, который возвращает 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');
}
}