Show / Hide Table of Contents

Class NotNullOrEmpty

A validation rule which passes if the object being validated is both not null and not an empty collection. The rule fails if it is either.

Inheritance
System.Object
NotNullOrEmpty
Implements
IRuleWithMessage<System.Collections.ICollection>
IRule<System.Collections.ICollection>
IGetsFailureMessage<System.Collections.ICollection>
IRuleWithMessage<System.Collections.IEnumerable>
IRule<System.Collections.IEnumerable>
IGetsFailureMessage<System.Collections.IEnumerable>
IRuleWithMessage<System.Array>
IRule<System.Array>
IGetsFailureMessage<System.Array>
IRuleWithMessage<System.String>
IRule<System.String>
IGetsFailureMessage<System.String>
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 NotNullOrEmpty : IRuleWithMessage<ICollection>, IRule<ICollection>, IGetsFailureMessage<ICollection>, IRuleWithMessage<IEnumerable>, IRule<IEnumerable>, IGetsFailureMessage<IEnumerable>, IRuleWithMessage<Array>, IRule<Array>, IGetsFailureMessage<Array>, IRuleWithMessage<string>, IRule<string>, IGetsFailureMessage<string>
Remarks

This rule combines the NotNull & NotEmpty rules into one. See the remarks to the NotEmpty rule for information on why it might be undesirable to use this rule; the same disadvantages apply here. It might be better to use the generic NotNullOrEmpty<T> instead.

This rule will always return a synchronous result.

Constructors

| Improve this Doc View Source

NotNullOrEmpty(NotNull, NotEmpty)

Initialises a new instance of NotNullOrEmpty.

Declaration
public NotNullOrEmpty(NotNull notNull, NotEmpty notEmpty)
Parameters
Type Name Description
NotNull notNull

A not-null rule.

NotEmpty notEmpty

A not-empty rule.

Exceptions
Type Condition
System.ArgumentNullException

If either constructor parameter is null.

Methods

| Improve this Doc View Source

GetResultAsync(Array, RuleContext, CancellationToken)

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

Declaration
public async ValueTask<RuleResult> GetResultAsync(Array validated, RuleContext context, CancellationToken token = default(CancellationToken))
Parameters
Type Name Description
System.Array 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(ICollection, RuleContext, CancellationToken)

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

Declaration
public async ValueTask<RuleResult> GetResultAsync(ICollection validated, RuleContext context, CancellationToken token = default(CancellationToken))
Parameters
Type Name Description
System.Collections.ICollection 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(IEnumerable, RuleContext, CancellationToken)

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

Declaration
public async ValueTask<RuleResult> GetResultAsync(IEnumerable validated, RuleContext context, CancellationToken token = default(CancellationToken))
Parameters
Type Name Description
System.Collections.IEnumerable 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(String, RuleContext, CancellationToken)

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

Declaration
public ValueTask<RuleResult> GetResultAsync(string validated, RuleContext context, CancellationToken token = default(CancellationToken))
Parameters
Type Name Description
System.String 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<Array>.GetFailureMessageAsync(Array, ValidationRuleResult, CancellationToken)

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

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

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

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

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

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

Declaration
ValueTask<string> IGetsFailureMessage<string>.GetFailureMessageAsync(string value, ValidationRuleResult result, CancellationToken token)
Parameters
Type Name Description
System.String value
ValidationRuleResult result
System.Threading.CancellationToken token
Returns
Type Description
System.Threading.Tasks.ValueTask<System.String>

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>
  • Improve this Doc
  • View Source
In This Article
Back to top Generated by DocFX