Стан моделі та анотації даних у C# дають нам зручний спосіб запитувати верифікацію даних. Верифікація моделі ModelState просто означає допомогти бекенду заощадити багато роботи з верифікації параметрів: додати відповідні функції до моделі і нарешті викликати ModelState.IsValid у контролері для отримання результатів верифікації. Без ModelState валідація параметрів бекенду може потребувати багато if-рішень.
Вимоги: Ми оцінюємо, чи пройшли параметри POST верифікацію моделі у фільтрі, якщо вони не проходять верифікацію, безпосередньо повертаємо єдине повідомлення про помилку json лише після проходження верифікації, а потім вводимо метод контролера, перевага цього полягає в тому,Нам не потрібно судити кожного контролера і виконувати повторювану роботу。
Перегляньте валідацію моделі ModelState
Фільтри відгуків
Перегляньте свої знання ASP.NET Core
Система попередньо визначає атрибут ValidationAttribute Набір ознак валідації, які успадковують від ValidationAttribute, визначений у просторі імен System.ComponentModel.DataAnnotations.
- RequiredAttribute: використовується для перевірки необхідних полів даних.
- RangeAttribute: Використовується для перевірки того, що значення числового поля знаходиться в межах заданого діапазону.
- StringLengthAttribute: Використовується для перевірки того, що довжина рядка цільового поля знаходиться в межах заданого діапазону.
- MaxLengthAttribute/MinLengthAttribute: Використовується для перевірки, чи довжина словника символів/масиву менша/більша за заданий верхній/нижній ліміт.
- RegularExpressionAttribute: Використовується для перевірки відповідності формату рядкового поля заданому регулярному виразу.
- CompareAttribute: Використовується для перевірки, чи узгоджується значення цільового поля з значенням іншого поля, і може бути використаний для підтвердження послідовності двічі введення пароля у сценарії реєстрації користувача.
- CustomValidationAttribute: Визначає тип валідації та метод валідації для валідації цільового члена.
Звісно, ми також можемо визначити правила валідації, успадкувавши клас ValidationAttribute і реалізувавши відповідний метод.
Давайте спочатку розглянемо рендеринги, повідомлення про помилку повертається фоновим інтерфейсом, наступним чином:
Код об'єктної моделі:
Код фільтра ModelStateFilter:
Код IsAjaxRequest виглядає так:
Нарешті, додайте власний фільтр до файлу запуску, код виглядає так:
(Кінець)
|