RecordValidator 1.0.1
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package RecordValidator --version 1.0.1
NuGet\Install-Package RecordValidator -Version 1.0.1
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="RecordValidator" Version="1.0.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add RecordValidator --version 1.0.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: RecordValidator, 1.0.1"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install RecordValidator as a Cake Addin #addin nuget:?package=RecordValidator&version=1.0.1 // Install RecordValidator as a Cake Tool #tool nuget:?package=RecordValidator&version=1.0.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
RecordValidator
RecordValidator is a .NET library for validating records against predefined rules.
Installation
You can install RecordValidator via NuGet Package Manager Console by running:
Install-Package RecordValidator
Or, you can install it using the .NET CLI:
dotnet add package RecordValidator
Define the rule for the properties for the class
public class Employee
{
[Mandatory()]
public int Id { get; set; }
[Mandatory("Name cannot be blank")]
[Length(max:20,min:2)]
public string Name { get; set; }
[Length(max: 100, min: 10)]
public string Address { get; set; }
[Mandatory]
[Email]
public string Email { get; set; }
}
Now call the ValidateValueAndThrowException function
try
{
var empolyee = new Employee()
{
Name = "",
Address="",
Email="vpathak154gmail.com",
Id = 1,
};
empolyee.ValidateValueAndThrowException();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
New Changes in 1.1.0
- DateTime valdation is also added on DateTime and String properties
- Added default value validation in Mandatory attribute
public class Employee
{
[Mandatory("Id cannot be 0",validateForDefaultValue:true)]
public int id { get; set; }
[Mandatory]
public string name { get; set; }
[Mandatory]
public int age { get; set; }
[Mandatory(validateForDefaultValue:true)]
public decimal Salary { get; set; }
[Mandatory(validateForDefaultValue:true)]
public char Gender { get; set; }
[Date(minDate: "1995-01-01",maxDate: "2004-01-01", errorMessage:"Min date and max date should be satified")]
public DateTime Dob { get; set; }
[Date(minDate: "2004-01-01")]
public string JoiningDate { get; set; }
}
Features
- Support for various validation rules and will be added more in coming versions.
- Easy to add in the project and can be easily added in existing project.
- Custom error message can be set if not given then default will be taken.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net6.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.