Aggregate page validity¶
This operation walks every auto-binding control on the page to determine overall page validity and to build a single deduplicated error message string.
| Field | Value |
|---|---|
| Operation ID | OP-AJAX-05 |
| Trigger | Page code-behind reads BindingManager.IsValid or ErrorMessages |
| Inputs | Page.Controls tree |
| Outputs | Boolean page validity; aggregated error text |
| Primary components | BindingManager.CheckValidControls, AppendUniqueMessages |
| Entry point | SAIF.Presentation.Web.Controls.AJAX.Infragistics111/BindingManager.vb |
Steps¶
- Walk
Page.Controlsrecursively. - For each leaf control that is (or whose
BindingContaineris) aniAutoBindingControl, read itsIsValid; returnFalseon the first invalid control. (BR-AJAX-013) ErrorMessagesperforms the same walk, appending each control's messages to aStringBuilder, suppressing any message whose text already appears, each followed by<br>; the trailing separator character is then trimmed. (BR-AJAX-010)
Process flow¶
The following diagram visualizes this operation's control flow.
flowchart TD
Start([Read IsValid / ErrorMessages]) --> Walk[Walk Page.Controls recursively]
Walk --> Leaf{Leaf is iAutoBindingControl<br>or container is one?}
Leaf -->|No| Walk
Leaf -->|Yes| ReadValid[Read control IsValid]
ReadValid --> Invalid{Invalid?}
Invalid -->|Yes| EndInvalid([Page invalid])
Invalid -->|No| Walk
Walk --> AllChecked{All controls checked?}
AllChecked -->|Yes| EndValid([Page valid, messages aggregated])
Failure and edge-case behavior¶
- The first invalid control short-circuits
IsValidtoFalse;ErrorMessagesalways walks every control to build the complete aggregated text regardless of theIsValidshort-circuit.*
Related documentation¶
Note: Statements marked with
*were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts. Statements marked with**could not be confirmed; treat as unknown until verified.
Sources¶
SAIF.Presentation.Web.Controls.AJAX.Infragistics111/BindingManager.vb