Skip to content

PropertyValidator

This callback contract lets callers inject property-specific validation into the binding pipeline when business-rule checks need direct access to the bound object, the property key being validated, and the binder-managed error collection. clsCustomValidator uses it to extend the framework's normal IDataErrorInfo-style validation with custom checks that can append one or more messages during Validate().

Purpose

  • Provides a property-mode extension point for custom validation logic attached through AddCustomValidator(target, keyProperty, propertyValidator).
  • Gives validation code direct access to the shared error list so one callback can add multiple failures for the same bound property.

Context

  • Namespace: SAIF.Presentation.Web.Binding
  • Assembly/package: SAIF.Presentation.Web.Binding.Infragistics103 (embedded/bundled as source, not independently packaged)

Public members

Member Signature Purpose
PropertyValidator Public Delegate Sub PropertyValidator(ByRef target As Object, ByVal inKeyProperty As String, ByRef inErrors As ArrayList) Invoked by clsCustomValidator.PerformValidation() when ValidationType is Property, receiving the bound object, the property name used as the validation key, and the error collection that the callback is expected to populate with any validation messages.

Behavioral notes

  • Property-mode custom validators run inside the normal manager validation cycle after binder registration has set ValidationType to Property and assigned PropertyValidationDelegate.
  • Because the callback receives the live ControlErrors collection by reference, added messages flow into the manager's aggregated validation output without a separate return value.

Constraints and usage notes

  • The callback should append human-readable error text to inErrors when validation fails; throwing exceptions is not the framework's normal reporting path.
  • The delegate is effective only when registered through the property-oriented AddCustomValidator overload.

Sources

  • SAIF.Presentation.Web.Binding.Infragistics103\Enums.vb
  • SAIF.Presentation.Web.Binding.Infragistics103\clsCustomValidator.vb