From 3089b45c47f52224eaaddef0a9b423a820bbea06 Mon Sep 17 00:00:00 2001 From: Stuart Turner Date: Mon, 20 May 2024 12:58:45 -0500 Subject: [PATCH 1/2] Remove type restriction on `IValidationTarget` --- src/Immediate.Validations.Shared/IValidationTarget.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Immediate.Validations.Shared/IValidationTarget.cs b/src/Immediate.Validations.Shared/IValidationTarget.cs index 9e3b106..2470fe2 100644 --- a/src/Immediate.Validations.Shared/IValidationTarget.cs +++ b/src/Immediate.Validations.Shared/IValidationTarget.cs @@ -8,7 +8,7 @@ namespace Immediate.Validations.Shared; /// /// The type which should be validated. /// -public interface IValidationTarget where T : IValidationTarget +public interface IValidationTarget { /// /// A method which can be used to validate instances of the type . From d8be49585a5f0233a5557979c383173346bef044 Mon Sep 17 00:00:00 2001 From: Stuart Turner Date: Mon, 20 May 2024 12:58:55 -0500 Subject: [PATCH 2/2] Remove type restriction on relational Validators --- .../Validators/GreaterThanAttribute.cs | 3 +-- .../Validators/GreaterThanOrEqualAttribute.cs | 3 +-- .../Validators/LessThanAttribute.cs | 3 +-- .../Validators/LessThanOrEqualAttribute.cs | 3 +-- 4 files changed, 4 insertions(+), 8 deletions(-) diff --git a/src/Immediate.Validations.Shared/Validators/GreaterThanAttribute.cs b/src/Immediate.Validations.Shared/Validators/GreaterThanAttribute.cs index 65791bd..84794a5 100644 --- a/src/Immediate.Validations.Shared/Validators/GreaterThanAttribute.cs +++ b/src/Immediate.Validations.Shared/Validators/GreaterThanAttribute.cs @@ -29,8 +29,7 @@ object operand /// A indicating whether the property is valid or not, along with an error /// message if the property is not valid. /// - public static (bool Invalid, string? Message) ValidateProperty(T target, T operand) - where T : IComparable => + public static (bool Invalid, string? Message) ValidateProperty(T target, T operand) => Comparer.Default.Compare(target, operand) > 0 ? default : (true, $"Value '{target}' is not greater than '{operand}'"); diff --git a/src/Immediate.Validations.Shared/Validators/GreaterThanOrEqualAttribute.cs b/src/Immediate.Validations.Shared/Validators/GreaterThanOrEqualAttribute.cs index 36102e6..92852a3 100644 --- a/src/Immediate.Validations.Shared/Validators/GreaterThanOrEqualAttribute.cs +++ b/src/Immediate.Validations.Shared/Validators/GreaterThanOrEqualAttribute.cs @@ -29,8 +29,7 @@ object operand /// A indicating whether the property is valid or not, along with an error /// message if the property is not valid. /// - public static (bool Invalid, string? Message) ValidateProperty(T target, T operand) - where T : IComparable => + public static (bool Invalid, string? Message) ValidateProperty(T target, T operand) => Comparer.Default.Compare(target, operand) >= 0 ? default : (true, $"Value '{target}' is not greater than or equal to '{operand}'"); diff --git a/src/Immediate.Validations.Shared/Validators/LessThanAttribute.cs b/src/Immediate.Validations.Shared/Validators/LessThanAttribute.cs index 2db76e4..f5c0cd5 100644 --- a/src/Immediate.Validations.Shared/Validators/LessThanAttribute.cs +++ b/src/Immediate.Validations.Shared/Validators/LessThanAttribute.cs @@ -29,8 +29,7 @@ object operand /// A indicating whether the property is valid or not, along with an error /// message if the property is not valid. /// - public static (bool Invalid, string? Message) ValidateProperty(T target, T operand) - where T : IComparable => + public static (bool Invalid, string? Message) ValidateProperty(T target, T operand) => Comparer.Default.Compare(target, operand) < 0 ? default : (true, $"Value '{target}' is not less than '{operand}'"); diff --git a/src/Immediate.Validations.Shared/Validators/LessThanOrEqualAttribute.cs b/src/Immediate.Validations.Shared/Validators/LessThanOrEqualAttribute.cs index 56d471e..8ab4698 100644 --- a/src/Immediate.Validations.Shared/Validators/LessThanOrEqualAttribute.cs +++ b/src/Immediate.Validations.Shared/Validators/LessThanOrEqualAttribute.cs @@ -29,8 +29,7 @@ object operand /// A indicating whether the property is valid or not, along with an error /// message if the property is not valid. /// - public static (bool Invalid, string? Message) ValidateProperty(T target, T operand) - where T : IComparable => + public static (bool Invalid, string? Message) ValidateProperty(T target, T operand) => Comparer.Default.Compare(target, operand) <= 0 ? default : (true, $"Value '{target}' is not less than or equal to '{operand}'");