Show / Hide Table of Contents

Class IntegerInRange

A validation rule which passes if the validated integer or System.Nullable<T> integer is within an inclusive Min & Max range. This rule works with all of the CLR-standard integer types.

Inheritance
System.Object
IntegerInRange
Implements
IRuleWithMessage<System.Byte>
IRule<System.Byte>
IGetsFailureMessage<System.Byte>
IRuleWithMessage<System.Int16>
IRule<System.Int16>
IGetsFailureMessage<System.Int16>
IRuleWithMessage<System.Int32>
IRule<System.Int32>
IGetsFailureMessage<System.Int32>
IRuleWithMessage<System.Int64>
IRule<System.Int64>
IGetsFailureMessage<System.Int64>
IRuleWithMessage<System.Nullable<System.Byte>>
IRule<System.Nullable<System.Byte>>
IGetsFailureMessage<System.Nullable<System.Byte>>
IRuleWithMessage<System.Nullable<System.Int16>>
IRule<System.Nullable<System.Int16>>
IGetsFailureMessage<System.Nullable<System.Int16>>
IRuleWithMessage<System.Nullable<System.Int32>>
IRule<System.Nullable<System.Int32>>
IGetsFailureMessage<System.Nullable<System.Int32>>
IRuleWithMessage<System.Nullable<System.Int64>>
IRule<System.Nullable<System.Int64>>
IGetsFailureMessage<System.Nullable<System.Int64>>
Inherited Members
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.ToString()
Namespace: CSF.Validation.Rules
Assembly: CSF.Validation.StandardRules.dll
Syntax
public class IntegerInRange : IRuleWithMessage<byte>, IRule<byte>, IGetsFailureMessage<byte>, IRuleWithMessage<short>, IRule<short>, IGetsFailureMessage<short>, IRuleWithMessage<int>, IRule<int>, IGetsFailureMessage<int>, IRuleWithMessage<long>, IRule<long>, IGetsFailureMessage<long>, IRuleWithMessage<byte?>, IRule<byte?>, IGetsFailureMessage<byte?>, IRuleWithMessage<short?>, IRule<short?>, IGetsFailureMessage<short?>, IRuleWithMessage<int?>, IRule<int?>, IGetsFailureMessage<int?>, IRuleWithMessage<long?>, IRule<long?>, IGetsFailureMessage<long?>
Remarks

Either of Min or Max may be null. If either is null then either the minimum or maximum of the range will not be used (which means that this becomes simply a "greater-then" or "less-than" validation rule). If both ends of the range are null then this validation rule will always pass.

This validation rule may additionally be used with System.Nullable<T> integers, in which case this rule will pass if the validated value is null. Combine this rule with a NotNull rule if nulls are not permitted.

The logic of this rule does not verify that the minimum is not greater-than the maximum. Thus it is possible to set up scenarios where this rule will always return a failure result for any number, as the pass criteria cannot be satisfied.

This rule supports both non-nullable and nullable instances of System.Byte, System.Int16, System.Int32 & System.Int64.

This rule will always return a synchronous result.

Properties

| Improve this Doc View Source

Max

Gets or sets the (inclusive) maximum for the validated value.

Declaration
public long? Max { get; set; }
Property Value
Type Description
System.Nullable<System.Int64>
| Improve this Doc View Source

Min

Gets or sets the (inclusive) minimum for the validated value.

Declaration
public long? Min { get; set; }
Property Value
Type Description
System.Nullable<System.Int64>

Methods

| Improve this Doc View Source

GetFailureMessageAsync(Nullable<Int64>, ValidationRuleResult, CancellationToken)

Gets the validation failure message for the specified result.

Declaration
public ValueTask<string> GetFailureMessageAsync(long? value, ValidationRuleResult result, CancellationToken token = default(CancellationToken))
Parameters
Type Name Description
System.Nullable<System.Int64> value
ValidationRuleResult result

A validation result, typically indicating failure.

System.Threading.CancellationToken token

An optional cancellation token.

Returns
Type Description
System.Threading.Tasks.ValueTask<System.String>

A human-readable message.

| Improve this Doc View Source

GetResultAsync(Int64, RuleContext, CancellationToken)

Performs the validation logic asynchronously and returns a task of RuleResult.

Declaration
public ValueTask<RuleResult> GetResultAsync(long validated, RuleContext context, CancellationToken token = default(CancellationToken))
Parameters
Type Name Description
System.Int64 validated
RuleContext context

Contextual information about the validation

System.Threading.CancellationToken token

An object which may be used to cancel the process

Returns
Type Description
System.Threading.Tasks.ValueTask<RuleResult>

A task which provides a result object, indicating the result of validation

Remarks

This method receives the value to be validated as well as an object which represents the context in which this rule is running. It should return a task of RuleResult.

In order to create the result object, particularly if your rule logic will run synchronously, consider using the CommonResults class via using static CSF.Validation.Rules.CommonResults; in your rule logic. The common results class has helper methods such as PassAsync(IDictionary<String, Object>) and FailAsync(IDictionary<String, Object>) which include optimisations for flyweight task instances that avoid allocating additional resources needlessly.

It is acceptable to throw an uncaught exception from this method, as the validation framework will catch it and automatically convert it into an error result. Generally, developers do not need to manually return a result of outcome Errored manually. This would be appropriate only in an unusual scenario that is considered an error, but which does not involve the throwing of an exception. Error results are generally harder for the consumer to deal with than failure results.

The context parameter may be used, amongst other things, to access 'ancestor' values. However, if this rule only needs access to an immediate parent value then consider using IRule<TValue, TParent> instead.

Exceptions
Type Condition
System.Exception

This method may raise any exception type

| Improve this Doc View Source

GetResultAsync(Nullable<Int64>, RuleContext, CancellationToken)

Performs the validation logic asynchronously and returns a task of RuleResult.

Declaration
public ValueTask<RuleResult> GetResultAsync(long? validated, RuleContext context, CancellationToken token = default(CancellationToken))
Parameters
Type Name Description
System.Nullable<System.Int64> validated
RuleContext context

Contextual information about the validation

System.Threading.CancellationToken token

An object which may be used to cancel the process

Returns
Type Description
System.Threading.Tasks.ValueTask<RuleResult>

A task which provides a result object, indicating the result of validation

Remarks

This method receives the value to be validated as well as an object which represents the context in which this rule is running. It should return a task of RuleResult.

In order to create the result object, particularly if your rule logic will run synchronously, consider using the CommonResults class via using static CSF.Validation.Rules.CommonResults; in your rule logic. The common results class has helper methods such as PassAsync(IDictionary<String, Object>) and FailAsync(IDictionary<String, Object>) which include optimisations for flyweight task instances that avoid allocating additional resources needlessly.

It is acceptable to throw an uncaught exception from this method, as the validation framework will catch it and automatically convert it into an error result. Generally, developers do not need to manually return a result of outcome Errored manually. This would be appropriate only in an unusual scenario that is considered an error, but which does not involve the throwing of an exception. Error results are generally harder for the consumer to deal with than failure results.

The context parameter may be used, amongst other things, to access 'ancestor' values. However, if this rule only needs access to an immediate parent value then consider using IRule<TValue, TParent> instead.

Exceptions
Type Condition
System.Exception

This method may raise any exception type

Explicit Interface Implementations

| Improve this Doc View Source

IGetsFailureMessage<Nullable<Byte>>.GetFailureMessageAsync(Nullable<Byte>, ValidationRuleResult, CancellationToken)

Declaration
ValueTask<string> IGetsFailureMessage<byte?>.GetFailureMessageAsync(byte? value, ValidationRuleResult result, CancellationToken token)
Parameters
Type Name Description
System.Nullable<System.Byte> value
ValidationRuleResult result
System.Threading.CancellationToken token
Returns
Type Description
System.Threading.Tasks.ValueTask<System.String>
| Improve this Doc View Source

IGetsFailureMessage<Byte>.GetFailureMessageAsync(Byte, ValidationRuleResult, CancellationToken)

Declaration
ValueTask<string> IGetsFailureMessage<byte>.GetFailureMessageAsync(byte value, ValidationRuleResult result, CancellationToken token)
Parameters
Type Name Description
System.Byte value
ValidationRuleResult result
System.Threading.CancellationToken token
Returns
Type Description
System.Threading.Tasks.ValueTask<System.String>
| Improve this Doc View Source

IGetsFailureMessage<Nullable<Int16>>.GetFailureMessageAsync(Nullable<Int16>, ValidationRuleResult, CancellationToken)

Declaration
ValueTask<string> IGetsFailureMessage<short?>.GetFailureMessageAsync(short? value, ValidationRuleResult result, CancellationToken token)
Parameters
Type Name Description
System.Nullable<System.Int16> value
ValidationRuleResult result
System.Threading.CancellationToken token
Returns
Type Description
System.Threading.Tasks.ValueTask<System.String>
| Improve this Doc View Source

IGetsFailureMessage<Int16>.GetFailureMessageAsync(Int16, ValidationRuleResult, CancellationToken)

Declaration
ValueTask<string> IGetsFailureMessage<short>.GetFailureMessageAsync(short value, ValidationRuleResult result, CancellationToken token)
Parameters
Type Name Description
System.Int16 value
ValidationRuleResult result
System.Threading.CancellationToken token
Returns
Type Description
System.Threading.Tasks.ValueTask<System.String>
| Improve this Doc View Source

IGetsFailureMessage<Nullable<Int32>>.GetFailureMessageAsync(Nullable<Int32>, ValidationRuleResult, CancellationToken)

Declaration
ValueTask<string> IGetsFailureMessage<int?>.GetFailureMessageAsync(int? value, ValidationRuleResult result, CancellationToken token)
Parameters
Type Name Description
System.Nullable<System.Int32> value
ValidationRuleResult result
System.Threading.CancellationToken token
Returns
Type Description
System.Threading.Tasks.ValueTask<System.String>
| Improve this Doc View Source

IGetsFailureMessage<Int32>.GetFailureMessageAsync(Int32, ValidationRuleResult, CancellationToken)

Declaration
ValueTask<string> IGetsFailureMessage<int>.GetFailureMessageAsync(int value, ValidationRuleResult result, CancellationToken token)
Parameters
Type Name Description
System.Int32 value
ValidationRuleResult result
System.Threading.CancellationToken token
Returns
Type Description
System.Threading.Tasks.ValueTask<System.String>
| Improve this Doc View Source

IGetsFailureMessage<Int64>.GetFailureMessageAsync(Int64, ValidationRuleResult, CancellationToken)

Declaration
ValueTask<string> IGetsFailureMessage<long>.GetFailureMessageAsync(long value, ValidationRuleResult result, CancellationToken token)
Parameters
Type Name Description
System.Int64 value
ValidationRuleResult result
System.Threading.CancellationToken token
Returns
Type Description
System.Threading.Tasks.ValueTask<System.String>
| Improve this Doc View Source

IRule<Nullable<Byte>>.GetResultAsync(Nullable<Byte>, RuleContext, CancellationToken)

Declaration
ValueTask<RuleResult> IRule<byte?>.GetResultAsync(byte? validated, RuleContext context, CancellationToken token)
Parameters
Type Name Description
System.Nullable<System.Byte> validated
RuleContext context
System.Threading.CancellationToken token
Returns
Type Description
System.Threading.Tasks.ValueTask<RuleResult>
| Improve this Doc View Source

IRule<Byte>.GetResultAsync(Byte, RuleContext, CancellationToken)

Declaration
ValueTask<RuleResult> IRule<byte>.GetResultAsync(byte validated, RuleContext context, CancellationToken token)
Parameters
Type Name Description
System.Byte validated
RuleContext context
System.Threading.CancellationToken token
Returns
Type Description
System.Threading.Tasks.ValueTask<RuleResult>
| Improve this Doc View Source

IRule<Nullable<Int16>>.GetResultAsync(Nullable<Int16>, RuleContext, CancellationToken)

Declaration
ValueTask<RuleResult> IRule<short?>.GetResultAsync(short? validated, RuleContext context, CancellationToken token)
Parameters
Type Name Description
System.Nullable<System.Int16> validated
RuleContext context
System.Threading.CancellationToken token
Returns
Type Description
System.Threading.Tasks.ValueTask<RuleResult>
| Improve this Doc View Source

IRule<Int16>.GetResultAsync(Int16, RuleContext, CancellationToken)

Declaration
ValueTask<RuleResult> IRule<short>.GetResultAsync(short validated, RuleContext context, CancellationToken token)
Parameters
Type Name Description
System.Int16 validated
RuleContext context
System.Threading.CancellationToken token
Returns
Type Description
System.Threading.Tasks.ValueTask<RuleResult>
| Improve this Doc View Source

IRule<Nullable<Int32>>.GetResultAsync(Nullable<Int32>, RuleContext, CancellationToken)

Declaration
ValueTask<RuleResult> IRule<int?>.GetResultAsync(int? validated, RuleContext context, CancellationToken token)
Parameters
Type Name Description
System.Nullable<System.Int32> validated
RuleContext context
System.Threading.CancellationToken token
Returns
Type Description
System.Threading.Tasks.ValueTask<RuleResult>
| Improve this Doc View Source

IRule<Int32>.GetResultAsync(Int32, RuleContext, CancellationToken)

Declaration
ValueTask<RuleResult> IRule<int>.GetResultAsync(int validated, RuleContext context, CancellationToken token)
Parameters
Type Name Description
System.Int32 validated
RuleContext context
System.Threading.CancellationToken token
Returns
Type Description
System.Threading.Tasks.ValueTask<RuleResult>

Implements

IRuleWithMessage<TValidated>
IRule<TValidated>
IGetsFailureMessage<TValidated>
IRuleWithMessage<TValidated>
IRule<TValidated>
IGetsFailureMessage<TValidated>
IRuleWithMessage<TValidated>
IRule<TValidated>
IGetsFailureMessage<TValidated>
IRuleWithMessage<TValidated>
IRule<TValidated>
IGetsFailureMessage<TValidated>
IRuleWithMessage<TValidated>
IRule<TValidated>
IGetsFailureMessage<TValidated>
IRuleWithMessage<TValidated>
IRule<TValidated>
IGetsFailureMessage<TValidated>
IRuleWithMessage<TValidated>
IRule<TValidated>
IGetsFailureMessage<TValidated>
IRuleWithMessage<TValidated>
IRule<TValidated>
IGetsFailureMessage<TValidated>
  • Improve this Doc
  • View Source
In This Article
Back to top Generated by DocFX