Summary
Base generic
Specification
interface for
single objects validation scenarios.
- Namespace
- FluentSpecification
.Abstractions .Generic - Interfaces
- Implementing Types
-
- Credit
Card Specification - Max
Length Specification <T> - AndSpecification
<T> - Exclusive
Between Specification <T> - Property
Specification <T, TProperty> - Base
Length Specification <T> - Validation
Specification <T> - Contains
Specification - Less
Than Specification <T> - Base
Greater Compare Specification <T> - Base
Between Specification <T> - Less
Than Or Equal Specification <T> - Expression
Specification <T> - TrueSpecification
- CastSpecification
<T, TCast> - Negatable
Validation Specification <T> - MatchSpecification
- Base
Compare Specification <T> - FalseSpecification
- AllSpecification
<T, TType> - I
Complex Specification <T> - NullSpecification
<T> - EmailSpecification
- ComplexSpecification
<T> - EqualSpecification
<T> - Greater
Than Specification <T> - Composite
Specification <T> - Min
Length Specification <T> - IsTypeSpecification
<T> - Inclusive
Between Specification <T> - Greater
Than Or Equal Specification <T> - OrSpecification
<T> - AnySpecification
<T, TType> - Base
Less Compare Specification <T> - NotSpecification
<T> - LengthSpecification
<T> - EmptySpecification
<T> - Length
Between Specification <T> - Contains
Specification <T, TType> - Base
Collection Specification <T, TType>
- Credit
graph BT
Type-.->Interface0["ISpecification<T>"]
Type-.->Interface1["ISpecification"]
click Interface1 "/FluentSpecification/api/FluentSpecification.Abstractions/ISpecification"
Type["IValidationSpecification<T>"]
class Type type-node
Implementing0["CreditCardSpecification"]-.->Type
click Implementing0 "/FluentSpecification/api/FluentSpecification.Common/CreditCardSpecification"
Implementing1["MaxLengthSpecification<T>"]-.->Type
click Implementing1 "/FluentSpecification/api/FluentSpecification.Common/MaxLengthSpecification_1"
Implementing2["AndSpecification<T>"]-.->Type
click Implementing2 "/FluentSpecification/api/FluentSpecification.Core.Composite/AndSpecification_1"
Implementing3["ExclusiveBetweenSpecification<T>"]-.->Type
click Implementing3 "/FluentSpecification/api/FluentSpecification.Common/ExclusiveBetweenSpecification_1"
Implementing4["PropertySpecification<T, TProperty>"]-.->Type
click Implementing4 "/FluentSpecification/api/FluentSpecification.Core.Composite/PropertySpecification_2"
Implementing5["BaseLengthSpecification<T>"]-.->Type
click Implementing5 "/FluentSpecification/api/FluentSpecification.Common.Abstractions/BaseLengthSpecification_1"
Implementing6["ValidationSpecification<T>"]-.->Type
click Implementing6 "/FluentSpecification/api/FluentSpecification.Core/ValidationSpecification_1"
Implementing7["ContainsSpecification"]-.->Type
click Implementing7 "/FluentSpecification/api/FluentSpecification.Common/ContainsSpecification"
Implementing8["LessThanSpecification<T>"]-.->Type
click Implementing8 "/FluentSpecification/api/FluentSpecification.Common/LessThanSpecification_1"
Implementing9["BaseGreaterCompareSpecification<T>"]-.->Type
click Implementing9 "/FluentSpecification/api/FluentSpecification.Common.Abstractions/BaseGreaterCompareSpecification_1"
Implementing10["BaseBetweenSpecification<T>"]-.->Type
click Implementing10 "/FluentSpecification/api/FluentSpecification.Common.Abstractions/BaseBetweenSpecification_1"
Implementing11["LessThanOrEqualSpecification<T>"]-.->Type
click Implementing11 "/FluentSpecification/api/FluentSpecification.Common/LessThanOrEqualSpecification_1"
Implementing12["ExpressionSpecification<T>"]-.->Type
click Implementing12 "/FluentSpecification/api/FluentSpecification.Common/ExpressionSpecification_1"
Implementing13["TrueSpecification"]-.->Type
click Implementing13 "/FluentSpecification/api/FluentSpecification.Common/TrueSpecification"
Implementing14["CastSpecification<T, TCast>"]-.->Type
click Implementing14 "/FluentSpecification/api/FluentSpecification.Core.Composite/CastSpecification_2"
Implementing15["NegatableValidationSpecification<T>"]-.->Type
click Implementing15 "/FluentSpecification/api/FluentSpecification.Core/NegatableValidationSpecification_1"
Implementing16["MatchSpecification"]-.->Type
click Implementing16 "/FluentSpecification/api/FluentSpecification.Common/MatchSpecification"
Implementing17["BaseCompareSpecification<T>"]-.->Type
click Implementing17 "/FluentSpecification/api/FluentSpecification.Common.Abstractions/BaseCompareSpecification_1"
Implementing18["FalseSpecification"]-.->Type
click Implementing18 "/FluentSpecification/api/FluentSpecification.Common/FalseSpecification"
Implementing19["AllSpecification<T, TType>"]-.->Type
click Implementing19 "/FluentSpecification/api/FluentSpecification.Common/AllSpecification_2"
Implementing20["IComplexSpecification<T>"]-.->Type
click Implementing20 "/FluentSpecification/api/FluentSpecification.Abstractions.Generic/IComplexSpecification_1"
Implementing21["NullSpecification<T>"]-.->Type
click Implementing21 "/FluentSpecification/api/FluentSpecification.Common/NullSpecification_1"
Implementing22["EmailSpecification"]-.->Type
click Implementing22 "/FluentSpecification/api/FluentSpecification.Common/EmailSpecification"
Implementing23["ComplexSpecification<T>"]-.->Type
click Implementing23 "/FluentSpecification/api/FluentSpecification.Core/ComplexSpecification_1"
Implementing24["EqualSpecification<T>"]-.->Type
click Implementing24 "/FluentSpecification/api/FluentSpecification.Common/EqualSpecification_1"
Implementing25["GreaterThanSpecification<T>"]-.->Type
click Implementing25 "/FluentSpecification/api/FluentSpecification.Common/GreaterThanSpecification_1"
Implementing26["CompositeSpecification<T>"]-.->Type
click Implementing26 "/FluentSpecification/api/FluentSpecification.Core.Composite/CompositeSpecification_1"
Implementing27["MinLengthSpecification<T>"]-.->Type
click Implementing27 "/FluentSpecification/api/FluentSpecification.Common/MinLengthSpecification_1"
Implementing28["IsTypeSpecification<T>"]-.->Type
click Implementing28 "/FluentSpecification/api/FluentSpecification.Common/IsTypeSpecification_1"
Implementing29["InclusiveBetweenSpecification<T>"]-.->Type
click Implementing29 "/FluentSpecification/api/FluentSpecification.Common/InclusiveBetweenSpecification_1"
Implementing30["GreaterThanOrEqualSpecification<T>"]-.->Type
click Implementing30 "/FluentSpecification/api/FluentSpecification.Common/GreaterThanOrEqualSpecification_1"
Implementing31["OrSpecification<T>"]-.->Type
click Implementing31 "/FluentSpecification/api/FluentSpecification.Core.Composite/OrSpecification_1"
Implementing32["AnySpecification<T, TType>"]-.->Type
click Implementing32 "/FluentSpecification/api/FluentSpecification.Common/AnySpecification_2"
Implementing33["BaseLessCompareSpecification<T>"]-.->Type
click Implementing33 "/FluentSpecification/api/FluentSpecification.Common.Abstractions/BaseLessCompareSpecification_1"
Implementing34["NotSpecification<T>"]-.->Type
click Implementing34 "/FluentSpecification/api/FluentSpecification.Core.Composite/NotSpecification_1"
Implementing35["LengthSpecification<T>"]-.->Type
click Implementing35 "/FluentSpecification/api/FluentSpecification.Common/LengthSpecification_1"
Implementing36["EmptySpecification<T>"]-.->Type
click Implementing36 "/FluentSpecification/api/FluentSpecification.Common/EmptySpecification_1"
Implementing37["LengthBetweenSpecification<T>"]-.->Type
click Implementing37 "/FluentSpecification/api/FluentSpecification.Common/LengthBetweenSpecification_1"
Implementing38["ContainsSpecification<T, TType>"]-.->Type
click Implementing38 "/FluentSpecification/api/FluentSpecification.Common/ContainsSpecification_2"
Implementing39["BaseCollectionSpecification<T, TType>"]-.->Type
click Implementing39 "/FluentSpecification/api/FluentSpecification.Common.Abstractions/BaseCollectionSpecification_2"
Syntax
[PublicAPI]
public interface IValidationSpecification<in T> : ISpecification<in T>, ISpecification
Remarks
Default "handler" for all kinds of generic Specifications
for objects validation.
Can be used for scenarios, where single objects needs verification with errors prepared for e.g. UI, like DTOs.
Attributes
Type | Description |
---|---|
PublicAPI |
Type Parameters
Name | Description |
---|---|
T | Type of candidate to verify. |
Methods
Name | Value | Summary |
---|---|---|
IsSatisfiedBy |
bool |
Checks if
Specification is satisfied by candidate object.
Returns validation result no matter is satisfied or not.
|
Extension Methods
Name | Value | Summary |
---|---|---|
And |
I |
Creates logical AND
Specification with newly created TSpecification.
From SpecificationCore
|
And |
I |
Creates composite
Specification proxy for final logical AND Specification .
From SpecificationCore
|
And |
I |
Creates logical AND
Specification .
From SpecificationCore
|
AndNot |
I |
Creates logical AND
Specification with newly created and negated TSpecification.
From SpecificationCore
|
AndNot |
I |
Creates composite
Specification proxy for final logical AND Specification .
Second Specification is negated.
From SpecificationCore
|
AndNot |
I |
Creates logical AND
Specification with negated other.
From SpecificationCore
|
As |
I |
Converts
Specification to complex Specification .
From SpecificationCore
|
AsExpression |
Expression |
Converts
Specification to Linq Expression<T> .
From SpecificationCore
|
AsPredicate |
Func |
Converts
Specification to Func<T, TResult> predicate.
From SpecificationCore
|
Not |
I |
Creates logical NOT
Specification .
From SpecificationCore
|
Or |
I |
Creates logical OR
Specification with newly created TSpecification.
From SpecificationCore
|
Or |
I |
Creates composite
Specification proxy for final logical OR Specification .
From SpecificationCore
|
Or |
I |
Creates logical OR
Specification .
From SpecificationCore
|
OrNot |
I |
Creates logical OR
Specification with newly created and negated TSpecification.
From SpecificationCore
|
OrNot |
I |
Creates composite
Specification proxy for final logical OR Specification .
Second Specification is negated.
From SpecificationCore
|
OrNot |
I |
Creates logical OR
Specification with negated other.
From SpecificationCore
|
WithMessage |
I |
Creates validation
Specification proxy with specific error message factory where not satisfied by.
From SpecificationCore
|
WithMessage |
I |
Creates validation
Specification proxy with specific error message factory where not satisfied by.
From SpecificationCore
|
WithMessage |
I |
Creates validation
Specification proxy with specific error message where not satisfied by.
From SpecificationCore
|