作者:VB.NET开发
项目:System.Workflow.ComponentModel.Compile
Public Class SendEmailValidator
Inherits System.Workflow.ComponentModel.Compiler.ActivityValidator
' Define private constants for the Validation Errors
Private Const InvalidToAddress As Integer = 1
Private Const InvalidFromAddress As Integer = 2
Private Const InvalidSMTPPort As Integer = 3
' customizing the default activity validation
Public Overrides Function ValidateProperties(ByVal manager As ValidationManager, ByVal obj As Object) As ValidationErrorCollection
' Create a new collection for storing the validation errors
Dim validationErrors As New ValidationErrorCollection()
Dim activity As SendEmailActivity = TryCast(obj, SendEmailActivity)
If activity IsNot Nothing Then
' Validate the Email and SMTP Properties
Me.ValidateEmailProperties(validationErrors, activity)
Me.ValidateSMTPProperties(validationErrors, activity)
' Raise an exception if we have ValidationErrors
If validationErrors.HasErrors Then
Dim validationErrorsMessage As String = String.Empty
For Each validationError As ValidationError In validationErrors
validationErrorsMessage += _
String.Format("Validation Error: Number 0} - '1}' \n", _
validationError.ErrorNumber, validationError.ErrorText)
Next
' Throw a new exception with the validation errors.
Throw New InvalidOperationException(validationErrorsMessage)
End If
End If
Return validationErrors
End Function