Omnifactotum
is the ultimate solution for .NET developers who want to streamline their development process. It provides its own helper and functional classes and interfaces as well as the extension methods for the standard .NET types. Omnifactotum
is compatible with the older and newer .NET versions. It's the perfect way to reduce errors and save time, allowing developers to focus on creating quality code.
Factotum
is a Latin word literally meaning "do everything", that is, a handyman or Jack-of-all-trades.
- Object validation
- Moved validation attributes from the namespace
Omnifactotum.Validation.Constraints
toOmnifactotum.Validation.Annotations
BaseMemberConstraintAttribute
BaseValidatableMemberAttribute
MemberConstraintAttribute
MemberConstraintAttribute<T>
(.NET 7+)MemberItemConstraintAttribute
MemberItemConstraintAttribute<T>
(.NET 7+)ValidatableMemberAttribute
MemberConstraintExtensions
AddError(this IMemberConstraint, MemberConstraintValidationContext, string?)
->AddError(this IMemberConstraint, MemberConstraintValidationContext, ValidationErrorDetails?)
MemberConstraintBase
AddError(MemberConstraintValidationContext, string?)
->AddError(MemberConstraintValidationContext, ValidationErrorDetails?)
- Removed obsolete method
AddError(ObjectValidatorContext, MemberConstraintValidationContext, string)
- Removed obsolete method
AddDefaultError(ObjectValidatorContext, MemberConstraintValidationContext)
- Moved validation attributes from the namespace
- Object validation
- Added
ValidationErrorDetails
with theText
andDescription
properties (used inMemberConstraintBase.AddError()
andMemberConstraintExtensions.AddError()
)- A
string
value can be implicitly converted toValidationErrorDetails
- A
- Object validation: Added constraints
NotNullAndNotBlankStringConstraint
(replacesNotBlankStringConstraint
)NotNullAndNotEmptyCollectionConstraint
(replacesNotNullOrEmptyCollectionConstraint
)NotNullAndNotEmptyCollectionConstraint<T>
(replacesNotNullOrEmptyCollectionConstraint<T>
)NotNullAndNotEmptyStringConstraint
(replacesNotNullOrEmptyStringConstraint
)NotNullRegexStringConstraintBase
(replacesRegexStringConstraintBase
)NotNullWebUrlConstraint
(replacesWebUrlConstraint
)OptionalNotBlankStringConstraint
OptionalNotEmptyCollectionConstraint
OptionalNotEmptyCollectionConstraint<T>
OptionalNotEmptyStringConstraint
OptionalRegexStringConstraintBase
OptionalWebUrlConstraint
- Added
- Object validation
MemberConstraintValidationError
- The
ErrorMessage
property is deprecated in favor of theDetails
property of typeValidationErrorDetails
(ErrorMessage
is equivalent toDetails.Text
)
- The
- Deprecated constraints
NotBlankStringConstraint
in favor ofNotNullAndNotBlankStringConstraint
NotNullOrEmptyCollectionConstraint
in favor ofNotNullAndNotEmptyCollectionConstraint
NotNullOrEmptyCollectionConstraint<T>
in favor ofNotNullAndNotEmptyCollectionConstraint<T>
NotNullOrEmptyStringConstraint
in favor ofNotNullAndNotEmptyStringConstraint
RegexStringConstraintBase
in favor ofNotNullRegexStringConstraintBase
WebUrlConstraint
in favor ofNotNullWebUrlConstraint