PipelineComponent.Validate Method

Definition

Important

This API is not CLS-compliant.

Verifies that the component is correctly configured.

public:
 virtual Microsoft::SqlServer::Dts::Pipeline::Wrapper::DTSValidationStatus Validate();
[System.CLSCompliant(false)]
public virtual Microsoft.SqlServer.Dts.Pipeline.Wrapper.DTSValidationStatus Validate ();
[<System.CLSCompliant(false)>]
abstract member Validate : unit -> Microsoft.SqlServer.Dts.Pipeline.Wrapper.DTSValidationStatus
override this.Validate : unit -> Microsoft.SqlServer.Dts.Pipeline.Wrapper.DTSValidationStatus
Public Overridable Function Validate () As DTSValidationStatus

Returns

A value from the DTSValidationStatus enumeration that indicates the status of the component.

Attributes

Remarks

The Validate method is overridden by component developers to verify that the component is correctly configured. It is called repeatedly during package design, and one time before execution of the component. Components should not modify its ComponentMetaData during Validate.

The base class implementation of Validate checks for the existence of IDTSInputColumn100 objects whose LineageID property does not match the LineageID of an IDTSOutputColumn100 of an upstream component. Component developers should extend the base class Validate functionality by performing additional checks on the ComponentMetaData. Each component has different requirements for successful validation, but the following list provides some of the common items that should be validated.

Components should provide feedback to users when validation fails. Feedback is provided through the FireError and FireWarning methods and by the DTSValidationStatus return value. Calls to FireError and FireWarning are displayed in the Error List window in SQL Server Data Tools (SSDT), and should provide users guidance on the validation failure. Of the four values in the DTSValidationStatus enumeration, only VS_ISVALID indicates successful validation. The other three values indicate different levels of failure. The following table describes the failure values in the enumeration and how they are interpreted by the SSIS Designer.

Status Description
VS_ISBROKEN Indicates that the component is not configured incorrectly, but changes by the user to the ComponentMetaData will resolve the problems.
VS_NEEDSNEWMETADATA Indicates that the validation errors can be fixed by the component in its implementation of the ReinitializeMetaData method. SSIS Designer will prompt users that the component can repair itself when VS_NEEDSNEWMETADATA, and subsequently ReinitializeMetaData is called.
VS_ISCORRUPT Indicates that the ComponentMetaData is corrupted and cannot be repaired by a call to ReinitializeMetaData or by edits to the component.

When the DelayValidation property of the data flow task is true, the design time calls to Validate are eliminated and the method is called before component execution.

For more information, see Validating a Data Flow Component.

Applies to