---
title: PropertyValidator
summary: API reference for PropertyValidator.
status: draft
owner: SAIF documentation team
last_reviewed: 2026-08-17
library: SAIF.Presentation.Web.Binding.Infragistics103
reference_type: embedded
---

# 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`
