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
ValidationTypetoPropertyand assignedPropertyValidationDelegate. - Because the callback receives the live
ControlErrorscollection 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
inErrorswhen validation fails; throwing exceptions is not the framework's normal reporting path. - The delegate is effective only when registered through the property-oriented
AddCustomValidatoroverload.
Sources¶
SAIF.Presentation.Web.Binding.Infragistics103\Enums.vbSAIF.Presentation.Web.Binding.Infragistics103\clsCustomValidator.vb