Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 45361|Відповідь: 1

[ASP.NET] ASP.NET Фільтр Core(4) уніфікована валідація моделі ModelState

[Копіювати посилання]
Опубліковано 2021-3-13 20:48:05 | | | |
Стан моделі та анотації даних у C# дають нам зручний спосіб запитувати верифікацію даних. Верифікація моделі ModelState просто означає допомогти бекенду заощадити багато роботи з верифікації параметрів: додати відповідні функції до моделі і нарешті викликати ModelState.IsValid у контролері для отримання результатів верифікації. Без ModelState валідація параметрів бекенду може потребувати багато if-рішень.

Вимоги: Ми оцінюємо, чи пройшли параметри POST верифікацію моделі у фільтрі, якщо вони не проходять верифікацію, безпосередньо повертаємо єдине повідомлення про помилку json лише після проходження верифікації, а потім вводимо метод контролера, перевага цього полягає в тому,Нам не потрібно судити кожного контролера і виконувати повторювану роботу

Перегляньте валідацію моделі ModelState

webapi ModelState.IsValid валідація моделі
https://www.itsvse.com/thread-3809-1-1.html

Ручна перевірка полів моделі ASP.NET MVC
https://www.itsvse.com/thread-9500-1-1.html

Asp.net Валідація даних основної моделі
https://www.itsvse.com/thread-9016-1-1.html

Фільтри відгуків

mvc custom filter ActionFilterAttribute клас

https://www.itsvse.com/thread-2609-1-1.html

Перегляньте свої знання ASP.NET Core

ASP.NET Ядро (iii) Динамічно створювати екземпляри за допомогою ActivatorUtilities
https://www.itsvse.com/thread-9488-1-1.html

ASP.NET Ядро (2) Перезапуск додатку за кодом
https://www.itsvse.com/thread-9480-1-1.html

ASP.NET Core (1) використовує кешування Redis
https://www.itsvse.com/thread-9393-1-1.html

Система попередньо визначає атрибут ValidationAttribute
Набір ознак валідації, які успадковують від ValidationAttribute, визначений у просторі імен System.ComponentModel.DataAnnotations.

  • RequiredAttribute: використовується для перевірки необхідних полів даних.
  • RangeAttribute: Використовується для перевірки того, що значення числового поля знаходиться в межах заданого діапазону.
  • StringLengthAttribute: Використовується для перевірки того, що довжина рядка цільового поля знаходиться в межах заданого діапазону.
  • MaxLengthAttribute/MinLengthAttribute: Використовується для перевірки, чи довжина словника символів/масиву менша/більша за заданий верхній/нижній ліміт.
  • RegularExpressionAttribute: Використовується для перевірки відповідності формату рядкового поля заданому регулярному виразу.
  • CompareAttribute: Використовується для перевірки, чи узгоджується значення цільового поля з значенням іншого поля, і може бути використаний для підтвердження послідовності двічі введення пароля у сценарії реєстрації користувача.
  • CustomValidationAttribute: Визначає тип валідації та метод валідації для валідації цільового члена.



Звісно, ми також можемо визначити правила валідації, успадкувавши клас ValidationAttribute і реалізувавши відповідний метод.

Давайте спочатку розглянемо рендеринги, повідомлення про помилку повертається фоновим інтерфейсом, наступним чином:



Код об'єктної моделі:

Код фільтра ModelStateFilter:



Код IsAjaxRequest виглядає так:

Нарешті, додайте власний фільтр до файлу запуску, код виглядає так:



(Кінець)




Попередній:HtmlAgilityPack аналізує поради щодо HTML для ролапів
Наступний:.NET Core викликає Baidu PaddleOCR для розпізнавання зображень і текстів
Опубліковано 2021-9-22 20:40:25 |
Навчися вчитися...
Застереження:
Усе програмне забезпечення, програмні матеріали або статті, опубліковані Code Farmer Network, призначені лише для навчання та досліджень; Вищезазначений контент не повинен використовуватися в комерційних чи незаконних цілях, інакше користувачі несуть усі наслідки. Інформація на цьому сайті надходить з Інтернету, і спори щодо авторських прав не мають до цього сайту. Ви повинні повністю видалити вищезазначений контент зі свого комп'ютера протягом 24 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com