Share via


AssociatedValidatorProvider Class

Provides an abstract class for classes that implement a validation provider.

Inheritance Hierarchy

System.Object
  System.Web.Mvc.ModelValidatorProvider
    System.Web.Mvc.AssociatedValidatorProvider
      System.Web.Mvc.DataAnnotationsModelValidatorProvider

Namespace:  System.Web.Mvc
Assembly:  System.Web.Mvc (in System.Web.Mvc.dll)

Syntax

'Declaration
Public MustInherit Class AssociatedValidatorProvider _
    Inherits ModelValidatorProvider
public abstract class AssociatedValidatorProvider : ModelValidatorProvider
public ref class AssociatedValidatorProvider abstract : public ModelValidatorProvider

The AssociatedValidatorProvider type exposes the following members.

Constructors

  Name Description
Protected method AssociatedValidatorProvider Called from constructors in derived classes to initialize the AssociatedMetadataProvider class.

Top

Methods

  Name Description
Public method Equals Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected method Finalize Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method GetHashCode Serves as a hash function for a particular type. (Inherited from Object.)
Public method GetType Gets the Type of the current instance. (Inherited from Object.)
Protected method GetTypeDescriptor Gets a type descriptor for the specified type.
Public method GetValidators(ModelMetadata, ControllerContext) Gets the validators for the model using the metadata and controller context. (Overrides ModelValidatorProvider.GetValidators(ModelMetadata, ControllerContext).)
Protected method GetValidators(ModelMetadata, ControllerContext, IEnumerable<Attribute>) Gets the validators for the model using the metadata, the controller context, and a list of attributes.
Protected method MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
Public method ToString Returns a string that represents the current object. (Inherited from Object.)

Top

Remarks

A validation provider provides validation logic for the data model. A validation provider must derive from ModelValidatorProvider. You can inherit from this class if you want to use a custom validator provider or a third-party validator that uses attribute-based metadata. This class performs most of the work that is required in order to implement the ModelValidatorProvider class.

When you implement this class, use the AssociatedMetadataProvider class to implement the metadata provider.

Model provider classes and validator provider classes are loosely coupled. Therefore, they work independently, and have no dependencies on each other.

However, the metadata provider exposes metadata that can be accessed and used by validation providers. For example, the MVC default metadata provider (the DataAnnotationsModelMetadataProvider class) reads the display name of an object, and the display name is used by the DataAnnotationsModelValidatorProvider validation provider when it creates a validation error message.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

See Also

Reference

System.Web.Mvc Namespace