C# 데이터를 검증하는 이유는 무엇입니까?

소개



정확한 고품질 소스 데이터를 갖는다는 것은 데이터 사용, 데이터 마이그레이션 및 병합 중에 데이터 손실 및 오류를 방지하기 위해 깨끗하고 유용하며 일관되고 정확한 데이터를 생성한다는 의미입니다.

정의



데이터 유효성 검사는 데이터를 수집, 사용, 가져오기, 분석 또는 준비하기 전에 데이터 원본이 정확한지 확인하는 프로세스입니다.

검증의 중요성


  • 데이터 손실 감소.
  • 정확한 데이터 생성.
  • 오류 방지.
  • 잘못된 데이터를 기반으로 결정을 내립니다.

  • 일부 유형의 검증



  • 데이터 유형 유효성 검사
    이메일, 숫자, IP, URL 등을 확인합니다.

  • Null 가능성 유효성 검사
    null 또는 선택되지 않은 경우 데이터를 확인합니다.

  • 범위 검증
    입력 데이터가 미리 정의된 범위에 속하는지 확인합니다.

  • 일관성 검증
    데이터가 논리적으로 일관된 방식으로 입력되었는지 확인합니다. 예를 들어 날짜가 미래가 아니거나 암호가 미리 정의된 규칙을 따릅니다.

  • 고유성 검증
    항목이 데이터베이스에 여러 번 입력되지 않도록 합니다.

  • 길이 검증
    적절한 수의 문자가 필드에 입력되었는지 확인합니다.

  • 문제



    데이터 유효성 검사는 모든 데이터 워크플로에서 중요한 단계이지만 개발 시간이 느려질 수 있으며 모든 응용 프로그램에서 다시 실행해야 하기 때문에 우리 중 일부에게는 지루할 수 있습니다.

    온라인에서 설치 및 사용할 수 있는 데이터 유효성 검사 라이브러리 중 하나를 사용하여 개발 시간을 절약하고 덜 지루하게 만들 수 있습니다.

    다음 예제에서는 이러한 라이브러리의 예로 DEFC.Util.DataValidation 라이브러리를 사용합니다. 이 라이브러리는 너겟에서 사용할 수 있습니다.

    Install-Package DEFC.Util.DataValidation -Version 1.0.0
    


    예시



    전체 예제가 포함된 콘솔 응용 프로그램은 the GitHub repository에서 사용할 수 있습니다.

    using DEFC.Util.DataValidation;
    using System.Text.RegularExpressions;
    



    
    C#
     public static void Validator()
            {           
                //Sample of data type validator
                bool IsValidAlphanumeric= DataType.IsAlphanumeric("Foo1234");
                bool IsValidGUID = DataType.IsGUID("am I a GUID");
                bool IsValidIPv4 = DataType.IsIPv4("127.0.0.1");
                bool IsValidURL = DataType.IsURL("https://www.nuget.org");
                //Sample of math validator
                bool IsValidNegative = Math.IsNegative(-1);
                bool IsValidEven = Math.IsEven(9);
                //Sample of comparison validator
                bool IsBetween = Comparison.IsBetween(4,2,10);
                bool IsLessThanOrEqual = Comparison.IsLessThanOrEqual(12,3);
                //Sample of SQL Injection validator
                bool HasSQLInjection = SQLInjection.IsExists("' or 1=1");
                //Sample of Regular Expression validator
                bool IsValidExpression = RegularExpression.IsMatch("Foo1234",new Regex("[a-zA-Z0-9]*$"));
                //Sample of Password validator
                bool Isvalid = Password.ValidatRules(new PasswordRules() 
                                                    {
                                                     Password="Foo@123",
                                                     HasUpper=true,
                                                     HasLower=true,
                                                     HasDigit=true,
                                                     HasLength=true,
                                                     passwordMinLength=6,
                                                     HasSymbols=true,
                                                     symbols="@,&"
                                                    });
            }
    

    좋은 웹페이지 즐겨찾기