Skip to content

Dual binding (bind one object, validate another)

Display one object on a control while validating a different object/property pair.

Field Value
Operation ID OP-BIND-009
Trigger Application binds a control to a display object while validating a different object
Inputs Control, CustomBindingControls type selector, bind object + property, validation object + property, optional args, bind type
Outputs A binder with distinct bind and validation sources
Primary components clsObjectBindManager.AddDualBinder, clsObjectBinderBase.SetDualBinding, clsObjectBinderBase.GetErrors
Entry point SAIF.Presentation.Web.Binding.Infragistics111/clsObjectBinderbase.vb

Steps

  1. Branch on the CustomBindingControls value (TextBox, DropDownList, SAIFWebMaskEdit, WebDateTimeEdit, WebTextEdit, WebMaskEdit) to instantiate the matching binder. (BR-BIND-058)
  2. Call SetDualBinding, which sets the dual-binding flag and records the bind source/property and the validation source/property separately. (BR-BIND-059)
  3. During validation, GetErrors uses the validation property and object rather than the bind pair for a dual binder. (BR-BIND-031)

Process flow

The following diagram visualizes this operation's control flow.

flowchart TD
    Start([AddDualBinder]) --> S1[Instantiate binder by CustomBindingControls type]
    S1 --> S2[SetDualBinding: record bind pair and validation pair separately]
    S2 --> S3[Register binder]
    S3 --> End([Control displays bind object,<br>validates validation object])

Failure and edge-case behavior

  • Only the six control types in CustomBindingControls can be dual-bound; other control types have no AddDualBinder overload (BR-BIND-058).

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. Statements marked with † were retrieved from dependency library documentation via the Legends CLI RAG service.

Sources

  • SAIF.Presentation.Web.Binding.Infragistics111/clsObjectBinderbase.vb