이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 45361|회답: 1

[ASP.NET] ASP.NET 코어(4) 필터 통합 모델스테이트 모델 검증

[링크 복사]
2021-3-13 20:48:05에 게시됨 | | | |
C#의 모델 상태 및 데이터 주석은 데이터 검증을 요청하는 편리한 방법을 제공합니다. ModelState 모델 검증은 단순히 백엔드가 많은 매개변수 검증 작업을 덜어주고, 모델에 해당 기능을 추가한 뒤, 컨트롤러에서 ModelState.IsValid를 호출해 검증 결과를 얻도록 돕는 것을 의미합니다. ModelState가 없으면, 백엔드 매개변수 검증이 많은 'if judgment'을 작성해야 할 수도 있습니다.

요구사항: POST 매개변수가 필터에서 모델 검증을 통과했는지 판단하고, 검증을 통과하지 못하면 검증이 통과된 후에만 통합 JSON 오류 메시지를 직접 반환한 후 컨트롤러 메서드에 입력합니다. 이 방법의 장점은 다음과 같습니다.각 컨트롤러를 평가하거나 반복적인 작업을 할 필요가 없습니다

ModelState 모델 검증 검토

webapi ModelState.IsValid 모델 검증
https://www.itsvse.com/thread-3809-1-1.html

MVC ASP.NET 모델 필드를 수동으로 검증하세요
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 코어(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