Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 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 е следният:

Накрая, добавете персонализиран филтър към Startup файла, кодът е следният:



(Край)




Предишен:HtmlAgilityPack анализира HTML съвети за rollup-и
Следващ:.NET Core извиква Baidu PaddleOCR, за да разпознава изображения и текстове
Публикувано на 22.09.2021 20:40:25 |
Научи се да учиш...
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com