Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 45361|Ответ: 1

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

[Скопировать ссылку]
Опубликовано 13.03.2021 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 пользовательский фильтр 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 Core (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 для распознавания изображений и текстов
Опубликовано 22.09.2021 20:40:25 |
Научись учиться...
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com