Komair.Specifications.Validation.Abstractions

Validation bridge abstractions for reusing specification rules across validation frameworks.


Keywords
csharp, dataannotations, dotnet, fluentvalidation, komair, net10, specification-pattern, validation
License
MIT
Install
Install-Package Komair.Specifications.Validation.Abstractions -Version 10.1.1

Documentation

Komair

License: MIT

A .NET solution of lightweight, composable libraries for working with expression trees and specifications. It provides serializable equivalents of System.Linq.Expressions, abstractions for mapping and serialization, and an implementation of the Specification pattern.

Overview

Komair provides:

  • Expressions — A .NET library providing serializable equivalents of the System.Linq.Expressions namespace (Komair.Expressions).
  • Expression serialization — Abstractions and concrete implementations for serializing expression nodes (Komair.Expressions.Serialization, Komair.Expressions.Serialization.Json).
  • Expression mapping — Abstractions and Mapster-based implementations for mapping between expression representations (Komair.Expressions.Mapping, Komair.Expressions.Mapping.Mapster).
  • Specifications — A .NET implementation of the Specification pattern (Komair.Specifications).
  • Specifications + EF Core — Optional IQueryable<T> helpers that compose specifications with Entity Framework Core (Komair.Specifications.EntityFrameworkCore).
  • Validation bridge adapters — Optional adapters that project shared rules to FluentValidation and DataAnnotations (Komair.Specifications.Validation.*).

Repository Structure

Folder Contents
src NuGet-ready class libraries (net10.0). Each package may be published independently.
test Unit test projects aligned to the source projects.

Source Packages

Package NuGet Description
Komair.Expressions NuGet Serializable equivalents of System.Linq.Expressions.
Komair.Expressions.Serialization NuGet Abstractions for serializing ExpressionNode objects.
Komair.Expressions.Serialization.Json NuGet System.Text.Json implementation of expression serialization.
Komair.Expressions.Mapping NuGet Abstractions for mapping ExpressionNode objects.
Komair.Expressions.Mapping.Mapster NuGet Mapster-based implementation of expression mapping.
Komair.Specifications NuGet Implementation of the Specification pattern.
Komair.Specifications.EntityFrameworkCore NuGet Optional EF Core helpers for composing specifications with IQueryable<T>.
Komair.Specifications.Validation.Abstractions NuGet Shared validation bridge rule and translation contracts.
Komair.Specifications.Validation.FluentValidation NuGet FluentValidation adapter for shared validation bridge rules.
Komair.Specifications.Validation.DataAnnotations NuGet DataAnnotations adapter with metadata fallback and diagnostics.

Validation Bridge Sample

  • Sample index: samples/validation-bridge-end-to-end.md
  • AbstractValidator<T> integration example: samples/validation-bridge-fluentvalidator-class.md
  • DataAnnotations class integration example: samples/validation-bridge-dataannotations-class.md

Building and Testing

dotnet build
dotnet test