// Null public static SmoothValidatorBuilder <TObject, TError> Null <TObject, TError>( this SmoothValidatorBuilder <TObject, TError> builder, Func <TError> errorProvider ) where TObject : class { return(builder.True( value => value == null, errorProvider )); }
// NotNullOrWhitespace public static SmoothValidatorBuilder <string, TError> NotNullOrWhitespace <TError>( this SmoothValidatorBuilder <string, TError> builder, Func <TError> errorProvider ) { return(builder.True( str => !string.IsNullOrWhiteSpace(str), errorProvider )); }
// Length public static SmoothValidatorBuilder <string, TError> Length <TError>( this SmoothValidatorBuilder <string, TError> builder, Func <LengthRange> lengthRangeProvider, Func <LengthRange, TError> errorProvider ) { return(builder .MinLength(() => lengthRangeProvider.Invoke().Min, _ => errorProvider.Invoke(lengthRangeProvider.Invoke())) .MaxLength(() => lengthRangeProvider.Invoke().Max, _ => errorProvider.Invoke(lengthRangeProvider.Invoke()))); }
// Equals public static SmoothValidatorBuilder <TObject, TError> Equals <TObject, TError>( this SmoothValidatorBuilder <TObject, TError> builder, Func <TObject> objectProvider, Func <TError> errorProvider ) { return(builder.True( value => EqualityComparer <TObject> .Default.Equals(value, objectProvider.Invoke()), errorProvider )); }
// MaxLength public static SmoothValidatorBuilder <string, TError> MaxLength <TError>( this SmoothValidatorBuilder <string, TError> builder, Func <int> lengthProvider, Func <int, TError> errorProvider ) { return(builder.True( value => value == null || value.Length <= lengthProvider.Invoke(), () => errorProvider.Invoke(lengthProvider.Invoke()) )); }