Table of Contents

Class FilterQueryValidator

Namespace
System.Web.Http.OData.Query.Validators
Assembly
System.Web.Http.OData.dll

Represents a validator used to validate a FilterQueryOption based on the ODataValidationSettings.

public class FilterQueryValidator
Inheritance
FilterQueryValidator
Inherited Members

Constructors

FilterQueryValidator()

public FilterQueryValidator()

Methods

Validate(FilterQueryOption, ODataValidationSettings)

Validates a FilterQueryOption.

public virtual void Validate(FilterQueryOption filterQueryOption, ODataValidationSettings settings)

Parameters

filterQueryOption FilterQueryOption

The $filter query.

settings ODataValidationSettings

The validation settings.

ValidateAllNode(AllNode, ODataValidationSettings)

Override this method to restrict the 'all' query inside the filter query.

public virtual void ValidateAllNode(AllNode allNode, ODataValidationSettings settings)

Parameters

allNode AllNode
settings ODataValidationSettings

ValidateAnyNode(AnyNode, ODataValidationSettings)

Override this method to restrict the 'any' query inside the filter query.

public virtual void ValidateAnyNode(AnyNode anyNode, ODataValidationSettings settings)

Parameters

anyNode AnyNode
settings ODataValidationSettings

ValidateArithmeticOperator(BinaryOperatorNode, ODataValidationSettings)

Override this method for the Arithmetic operators, including add, sub, mul, div, mod.

public virtual void ValidateArithmeticOperator(BinaryOperatorNode binaryNode, ODataValidationSettings settings)

Parameters

binaryNode BinaryOperatorNode
settings ODataValidationSettings

ValidateBinaryOperatorNode(BinaryOperatorNode, ODataValidationSettings)

override this method to restrict the binary operators inside the filter query. That includes all the logical operators except 'not' and all math operators.

public virtual void ValidateBinaryOperatorNode(BinaryOperatorNode binaryOperatorNode, ODataValidationSettings settings)

Parameters

binaryOperatorNode BinaryOperatorNode
settings ODataValidationSettings

ValidateCollectionPropertyAccessNode(CollectionPropertyAccessNode, ODataValidationSettings)

Override this method to validate collection property accessor.

public virtual void ValidateCollectionPropertyAccessNode(CollectionPropertyAccessNode propertyAccessNode, ODataValidationSettings settings)

Parameters

propertyAccessNode CollectionPropertyAccessNode
settings ODataValidationSettings

ValidateConstantNode(ConstantNode, ODataValidationSettings)

Override this method to restrict the 'constant' inside the filter query.

public virtual void ValidateConstantNode(ConstantNode constantNode, ODataValidationSettings settings)

Parameters

constantNode ConstantNode
settings ODataValidationSettings

ValidateConvertNode(ConvertNode, ODataValidationSettings)

Override this method to restrict the 'cast' inside the filter query.

public virtual void ValidateConvertNode(ConvertNode convertNode, ODataValidationSettings settings)

Parameters

convertNode ConvertNode
settings ODataValidationSettings

ValidateEntityCollectionCastNode(EntityCollectionCastNode, ODataValidationSettings)

Override this method if you want to validate casts on entity collections.

public virtual void ValidateEntityCollectionCastNode(EntityCollectionCastNode entityCollectionCastNode, ODataValidationSettings settings)

Parameters

entityCollectionCastNode EntityCollectionCastNode
settings ODataValidationSettings

ValidateLogicalOperator(BinaryOperatorNode, ODataValidationSettings)

Override this method to validate the LogicalOperators such as 'eq', 'ne', 'gt', 'ge', 'lt', 'le', 'and', 'or'. Please note that 'not' is not included here. Please override ValidateUnaryOperatorNode to customize 'not'.

public virtual void ValidateLogicalOperator(BinaryOperatorNode binaryNode, ODataValidationSettings settings)

Parameters

binaryNode BinaryOperatorNode
settings ODataValidationSettings

ValidateNavigationPropertyNode(QueryNode, IEdmNavigationProperty, ODataValidationSettings)

Override this method for the navigation property node.

public virtual void ValidateNavigationPropertyNode(QueryNode sourceNode, IEdmNavigationProperty navigationProperty, ODataValidationSettings settings)

Parameters

sourceNode QueryNode
navigationProperty IEdmNavigationProperty
settings ODataValidationSettings

ValidateQueryNode(QueryNode, ODataValidationSettings)

Override this method if you want to visit each query node.

public virtual void ValidateQueryNode(QueryNode node, ODataValidationSettings settings)

Parameters

node QueryNode
settings ODataValidationSettings

ValidateRangeVariable(RangeVariable, ODataValidationSettings)

Override this method to validate the parameter used in the filter query.

public virtual void ValidateRangeVariable(RangeVariable rangeVariable, ODataValidationSettings settings)

Parameters

rangeVariable RangeVariable
settings ODataValidationSettings

ValidateSingleEntityCastNode(SingleEntityCastNode, ODataValidationSettings)

Override this method if you want to validate casts on single entities.

public virtual void ValidateSingleEntityCastNode(SingleEntityCastNode singleEntityCastNode, ODataValidationSettings settings)

Parameters

singleEntityCastNode SingleEntityCastNode
settings ODataValidationSettings

ValidateSingleValueFunctionCallNode(SingleValueFunctionCallNode, ODataValidationSettings)

Override this method to validate Function calls, such as 'length', 'years', etc.

public virtual void ValidateSingleValueFunctionCallNode(SingleValueFunctionCallNode node, ODataValidationSettings settings)

Parameters

node SingleValueFunctionCallNode
settings ODataValidationSettings

ValidateSingleValuePropertyAccessNode(SingleValuePropertyAccessNode, ODataValidationSettings)

Override this method to validate property accessor.

public virtual void ValidateSingleValuePropertyAccessNode(SingleValuePropertyAccessNode propertyAccessNode, ODataValidationSettings settings)

Parameters

propertyAccessNode SingleValuePropertyAccessNode
settings ODataValidationSettings

ValidateUnaryOperatorNode(UnaryOperatorNode, ODataValidationSettings)

Override this method to validate the Not operator.

public virtual void ValidateUnaryOperatorNode(UnaryOperatorNode unaryOperatorNode, ODataValidationSettings settings)

Parameters

unaryOperatorNode UnaryOperatorNode
settings ODataValidationSettings