Data Validation Nuget Package
Tags: dotnet, nuget, csharp, nugetpackage
Published: 2023-02-27 11:49:58

#Objective
This is a cross platform NET Standard 2.0 validation library containing a bunch of validation code that we have to rewrite every time we develop apps. Due to the time we have to spend every day in validating data. This library was developed to help in saving our development time.

#About
This library is one of DEFC utilities packages that contains several types of data validation methods, to help the developers minify their codes in easy way with no time. Through this package can :
* Check if a value is (Alphanumeric, Alpha, GUID, Base64, NullOrEmptyOrWhiteSpace, Email,URL,DateTime, Number, Byte, Short, Integer, Long, Decimal, Double, Float, IPv4, IPv6, IP, MACAddress, LatitudeLongitude )
* Check if a value is between tow values, check if a value is between tow values or equal one of them, check if a value is equal to another value, check if value is greater than or equal another value and check if value is less than or equal another value.
* Match password and confirm password.
* Check if password is strong with at least one uppercase, one lowercase, one digit and one of the custom symbols with specific password length by sets the password rules.
this library is available on nuget.

```C#
Install-Package DEFC.Util.DataValidation -Version 1.0.0
```
#Example
 Console application with full example available at [the GitHub repository](https://github.com/AminaElsheikh/DEFC.Util.DataValidationExamples).
```C#
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="@,&"
                                                });
        }