Как правильно обрабатывать и отобразить ошибки проверки API ASP.NET MVC в ответах AJAX? [закрыто]Jquery

Программирование на jquery
Ответить Пред. темаСлед. тема
Anonymous
 Как правильно обрабатывать и отобразить ошибки проверки API ASP.NET MVC в ответах AJAX? [закрыто]

Сообщение Anonymous »

Я внедряю обновления учителей на основе AJAX в приложении ASP.NET MVC 5 с проверкой на стороне сервера. В то время как мой API правильно возвращает ошибки проверки (например, 400 плохой запрос с ModelState ), я не могу надежно отображать эти ошибки в браузере.

Код: Выделить всё

error: function(xhr) {
const errors = xhr.responseJSON?.ModelState;
if (errors) {
for (const [key, value] of Object.entries(errors)) {
$(`#${key}`).after(`${value}`);
}
}
}
Проблема : структура вложенной модели (например, {"Учитель.hiredate": ["Недопустимая дата"]}) делает полевой отображение беспорядочной.

Код: Выделить всё

return BadRequest(new {
Errors = ModelState.Values.SelectMany(v => v.Errors)
.Select(e => e.ErrorMessage)
});
< /code>
< /li>
[*]  Плагин проверки jQuery: < /p>
$("#teacherForm").validate({
submitHandler: function(form) {
// AJAX submit
}
});
проблема : не интегрируется с ответами на проверку на стороне сервера


Что я ожидал
ModelState
[*] Динамически отображать их под соответствующими входами формы
[*] Поддерживать согласованность с стилями проверки начальной загрузки

Текущий код - контроллер API:

Код: Выделить всё

[HttpPut]
[Route("api/teachers/{id}")]
public IHttpActionResult UpdateTeacher(int id, [FromBody] Teacher teacher)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState); // Returns error object
}

// ... update logic
}
< /code>
ajax call: < /p>
$.ajax({
url: `/api/teachers/${teacherId}`,
type: 'PUT',
contentType: 'application/json',
data: JSON.stringify(teacherData),
success: function() { /* ... */ },
error: function(xhr) {
// NEED HELP: Cleanly display errors here
}
});
Вопросы :

[*] Какой наиболее поддержанный способ отображать модель State ошибки для формирования полей? /> < /li>
Есть ли библиотеки /плагины, которые упрощают этот рабочий процесс? 4


Подробнее здесь: https://stackoverflow.com/questions/795 ... n-ajax-res
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как правильно обрабатывать и отобразить ошибки проверки API ASP.NET MVC в ответах AJAX?
    Anonymous » » в форуме Jquery
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Зеркальный API. Быстрый старт PHP — подписка на уведомления об ответах?
    Anonymous » » в форуме Php
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Как добиться того же эффекта, что и ASP.Net MVC Server.Transfer в ASP.Net Core MVC?
    Anonymous » » в форуме C#
    0 Ответы
    96 Просмотры
    Последнее сообщение Anonymous
  • Как добиться того же эффекта, что и ASP.NET MVC Server.Transfer в ASP.NET Core MVC?
    Anonymous » » в форуме C#
    0 Ответы
    105 Просмотры
    Последнее сообщение Anonymous
  • Реализация выхода из Azure B2C в приложениях ASP.NET Core MVC и ASP.NET MVC.
    Anonymous » » в форуме C#
    0 Ответы
    109 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Jquery»