Skip to content

SAIF.Presentation.Web.Binding.Infragistics111 business rules

This page captures business rules enforced by this library. All local rules are read from SAIF.Presentation.Web.Binding.Infragistics111 source; each row's Source is the file that defines the enforcement point.

BR-BIND-001: Binder selected by overload resolution

Field Value
Statement Every supported control type has exactly one binder implementation, selected by Add overload resolution.
Trigger Add call
Enforcement clsObjectBindManager.vb
Outcome The correct control property is read/written for each control type.
Source SAIF.Presentation.Web.Binding.Infragistics111/clsObjectBindManager.vb

BR-BIND-002: BindSource sets validation source

Field Value
Statement Setting a binder's BindSource also sets its validation source unless dual binding overrides it.
Trigger BindSource setter
Enforcement Each binder's BindSource property
Outcome Validation defaults to the bound object.
Source SAIF.Presentation.Web.Binding.Infragistics111/clsObjectBinderbase.vb

BR-BIND-003: UseEvents defaults to enabled

Field Value
Statement Event-driven binding defaults to on (UseEvents = True) and can be disabled per binding.
Trigger Add overloads with an inUseEvents argument
Enforcement clsObjectBindManager.vb
Outcome Applications can choose immediate vs. batched write-back.
Source SAIF.Presentation.Web.Binding.Infragistics111/clsObjectBindManager.vb

BR-BIND-004: Validation object registered once by key

Field Value
Statement Each distinct validation object is registered once, keyed by its MyGuid for SAIF framework objects or its type name otherwise.
Trigger AddBinder
Enforcement clsObjectBinderbase.vb (ValidationKey), clsObjectBindManager.vb (AddBinder)
Outcome A business object is validated once no matter how many controls bind to it.
Source SAIF.Presentation.Web.Binding.Infragistics111/clsObjectBinderbase.vb, SAIF.Presentation.Web.Binding.Infragistics111/clsObjectBindManager.vb

BR-BIND-005: Empty validation key skips registration

Field Value
Statement A binder whose validation object is Nothing produces an empty key and is not registered for source validation.
Trigger AddBinder with an empty key
Enforcement clsObjectBindManager.vb (AddBinder)
Outcome Unbound binders do not break the validation pass.
Source SAIF.Presentation.Web.Binding.Infragistics111/clsObjectBindManager.vb

BR-BIND-006: AutoBind persists via ViewState

Field Value
Statement The AutoBind setting survives postbacks via ViewState.
Trigger OnLoad / OnPreRender
Enforcement clsObjectBindManager.vb (LoadStateValues, SaveStateValues)
Outcome Auto-bind behavior is stable across the page lifecycle.
Source SAIF.Presentation.Web.Binding.Infragistics111/clsObjectBindManager.vb

BR-BIND-007: Change event subscription requires UseEvents

Field Value
Statement A binder subscribes to its control's change event only when UseEvents is True.
Trigger Init
Enforcement Each binder's Init
Outcome Applications that batch their writes are not surprised by mid-request object mutation.
Source SAIF.Presentation.Web.Binding.Infragistics111/clsObjectBinderbase.vb

BR-BIND-008: Change event subscription requires write-back bind type

Field Value
Statement Change-event subscription happens only for ControlToObject and TwoWay bindings.
Trigger Init
Enforcement Each binder's Init
Outcome Display-only bindings never write back.
Source SAIF.Presentation.Web.Binding.Infragistics111/clsObjectBinderbase.vb

BR-BIND-009: Custom validator forced to ValidateOnly

Field Value
Statement A custom validator is always forced to ValidateOnly, regardless of the bind type requested.
Trigger clsCustomValidator.Init
Enforcement clsCustomValidator.vb
Outcome Custom validators never move data.
Source SAIF.Presentation.Web.Binding.Infragistics111/clsCustomValidator.vb

BR-BIND-010: DataBind and BindToObject respect bind type

Field Value
Statement DataBind processes only ObjectToControl/TwoWay binders; BindToObject processes only ControlToObject/TwoWay binders.
Trigger DataBind, BindToObject
Enforcement clsObjectBindManager.vb
Outcome One-way bindings stay one-way.
Source SAIF.Presentation.Web.Binding.Infragistics111/clsObjectBindManager.vb

BR-BIND-011: Nothing bind source skips data movement

Field Value
Statement A Nothing bind source causes the binder to skip data movement silently.
Trigger ObjectToControl
Enforcement Each binder's ObjectToControl
Outcome Pages render without error before their objects are loaded.
Source SAIF.Presentation.Web.Binding.Infragistics111/clsObjectBinderbase.vb

BR-BIND-012: Object values read via TypeConverter

Field Value
Statement Object values are read through TypeDescriptor / PropertyDescriptor and the property's TypeConverter, and a value that cannot be converted yields Nothing.
Trigger GetObjectValueAsString
Enforcement clsObjectBinderbase.vb
Outcome Formatting follows the property's own type converter.
Source SAIF.Presentation.Web.Binding.Infragistics111/clsObjectBinderbase.vb

BR-BIND-013: Padding applied before display

Field Value
Statement When padding is configured for the control target, the value is left- or right-padded to the configured length with the configured character before display.
Trigger GetObjectValueAsString with UsePadding
Enforcement clsObjectBinderbase.vb
Outcome Fixed-width legacy fields display correctly.
Source SAIF.Presentation.Web.Binding.Infragistics111/clsObjectBinderbase.vb

BR-BIND-014: Numeric editors write configured value property

Field Value
Statement Numeric editors write to the specific Infragistics value property named by NumericControlProperty.
Trigger ObjectToControl / ControlToObject on a numeric binder
Enforcement clsWebNumericEditBinder.vb, clsWebNumericEditorBinder.vb
Outcome Numeric precision/type is preserved end to end.
Source SAIF.Presentation.Web.Binding.Infragistics111/InfragisticsClassicControls/clsWebNumericEditBinder.vb, SAIF.Presentation.Web.Binding.Infragistics111/InfragisticsControls/clsWebNumericEditorBinder.vb

BR-BIND-015: Null nullable decimal displays as NaN

Field Value
Statement A NullableDecimal target whose object value is Nothing displays as Double.NaN (an empty editor).
Trigger ObjectToControl on a numeric binder
Enforcement clsWebNumericEditBinder.vb
Outcome Null numerics render blank rather than zero.
Source SAIF.Presentation.Web.Binding.Infragistics111/InfragisticsClassicControls/clsWebNumericEditBinder.vb

BR-BIND-016: Check box maps boolean or string flag

Field Value
Statement A check box maps to a Boolean property directly, or to a String property using the configured checked/unchecked strings compared case-insensitively.
Trigger ObjectToControl / ControlToObject on clsCheckBoxBinder
Enforcement clsCheckBoxBinder.vb
Outcome Legacy Y/N-style string flags bind to check boxes.
Source SAIF.Presentation.Web.Binding.Infragistics111/ASPControls/clsCheckBoxBinder.vb

BR-BIND-017: Grid binding uses native DataBind

Field Value
Statement Grid binding assigns the collection to the grid's DataSource and calls the grid's own DataBind.
Trigger ObjectToControl on a grid binder
Enforcement clsUltraGridBinder.vb, clsWebDataGridBinder.vb
Outcome Grids use native Infragistics binding.
Source SAIF.Presentation.Web.Binding.Infragistics111/InfragisticsClassicControls/clsUltraGridBinder.vb, SAIF.Presentation.Web.Binding.Infragistics111/InfragisticsControls/clsWebDataGridBinder.vb

BR-BIND-018: AutoBind triggers on PreRender

Field Value
Statement When AutoBind is True, object-to-control binding runs automatically on PreRender.
Trigger OnPreRender
Enforcement clsObjectBindManager.vb
Outcome Pages need not call DataBind() explicitly.
Source SAIF.Presentation.Web.Binding.Infragistics111/clsObjectBindManager.vb

BR-BIND-019: BindToObject respects inAllControls flag

Field Value
Statement BindToObject() without arguments writes back only the bindings that do not use events; BindToObject(True) writes back all bindings.
Trigger BindToObject
Enforcement clsObjectBindManager.vb
Outcome Event-driven bindings are not written twice.
Source SAIF.Presentation.Web.Binding.Infragistics111/clsObjectBindManager.vb

BR-BIND-020: String target receives text verbatim

Field Value
Statement A String target property receives the control's text verbatim.
Trigger ControlToObject on a text binder
Enforcement clsTextBoxBinder.vb
Outcome No implicit conversion for string fields.
Source SAIF.Presentation.Web.Binding.Infragistics111/ASPControls/clsTextBoxBinder.vb

BR-BIND-021: Non-string target uses Convert.ChangeType

Field Value
Statement A non-String target property is set via Convert.ChangeType, and a conversion failure leaves the property unchanged without raising an error.
Trigger ControlToObject on a text binder
Enforcement clsTextBoxBinder.vb
Outcome Bad input does not crash the page; the stale value survives and is caught by validation.*
Source SAIF.Presentation.Web.Binding.Infragistics111/ASPControls/clsTextBoxBinder.vb

BR-BIND-022: Empty numeric text stores null

Field Value
Statement A NullableDecimal target receives an empty nullable when the editor text is empty.
Trigger ControlToObject on a numeric binder
Enforcement clsWebNumericEditBinder.vb
Outcome Blank numeric input stores NULL rather than zero.
Source SAIF.Presentation.Web.Binding.Infragistics111/InfragisticsClassicControls/clsWebNumericEditBinder.vb

BR-BIND-023: String target on numeric editor receives Text

Field Value
Statement A String target on a numeric editor receives the editor's Text, not its typed value.
Trigger ControlToObject on a numeric binder
Enforcement clsWebNumericEditBinder.vb
Outcome Formatted numeric strings round-trip.
Source SAIF.Presentation.Web.Binding.Infragistics111/InfragisticsClassicControls/clsWebNumericEditBinder.vb

BR-BIND-024: Grid row matched by key property

Field Value
Statement Grid write-back matches a grid row to a business object by comparing the key property's value with the key cell's value as strings.
Trigger ControlToObject on a grid binder
Enforcement clsUltraGridBinder.vb (UpdateObjectProperties)
Outcome The right row updates the right object.
Source SAIF.Presentation.Web.Binding.Infragistics111/InfragisticsClassicControls/clsUltraGridBinder.vb

BR-BIND-025: Hierarchical grid write-back recurses child bands

Field Value
Statement Hierarchical grid write-back recurses into child rows, resolving each band's child collection by Band.BaseTableName and each band's key by HierarchialGridArgs.
Trigger ControlToObject on a hierarchical binding
Enforcement clsUltraGridBinder.vb, clsWebHierarchicalDataGridBinder.vb
Outcome Parent/child edits both persist to the object graph.
Source SAIF.Presentation.Web.Binding.Infragistics111/InfragisticsClassicControls/clsUltraGridBinder.vb, SAIF.Presentation.Web.Binding.Infragistics111/InfragisticsControls/clsWebHierarchicalDataGridBinder.vb

BR-BIND-026: UseEvents writes back immediately on change

Field Value
Statement With UseEvents enabled, the object is updated immediately when the control raises its change event.
Trigger Control change event
Enforcement Each binder's change handler
Outcome Dependent server-side logic sees fresh values within the same postback.
Source SAIF.Presentation.Web.Binding.Infragistics111/clsObjectBinderbase.vb

BR-BIND-027: Validation writes back before checking

Field Value
Statement Validation always writes control values back to the objects first.
Trigger Validate, RefreshValidation
Enforcement clsObjectBindManager.vb
Outcome Nothing is validated against stale object state.
Source SAIF.Presentation.Web.Binding.Infragistics111/clsObjectBindManager.vb

BR-BIND-028: Validation clears prior error state

Field Value
Statement Each validation pass clears the previous error list and the first-error-control reference.
Trigger Validate, RefreshValidation
Enforcement clsObjectBindManager.vb
Outcome Errors do not accumulate across postbacks.
Source SAIF.Presentation.Web.Binding.Infragistics111/clsObjectBindManager.vb

BR-BIND-029: Reading IsValid triggers rule evaluation

Field Value
Statement Validate() reads each registered validation object's IsValid property, which triggers the business object's own rule evaluation.
Trigger ValidateBindSources
Enforcement clsObjectBindManager.vb
Outcome Business rules run before their messages are harvested.
Source SAIF.Presentation.Web.Binding.Infragistics111/clsObjectBindManager.vb

BR-BIND-030: Custom validators run delegate; others harvest IDataErrorInfo

Field Value
Statement Custom validators run their delegate; all other binders harvest errors from IDataErrorInfo.
Trigger Validate, RefreshValidation
Enforcement clsObjectBindManager.vb
Outcome Both validation styles feed one error pipeline.
Source SAIF.Presentation.Web.Binding.Infragistics111/clsObjectBindManager.vb

BR-BIND-031: Dual binder validates its validation pair

Field Value
Statement A dual binder harvests errors from its validation object/property; every other binder uses its bind object/property.
Trigger GetErrors
Enforcement clsObjectBinderbase.vb
Outcome Display object and validated object can differ.
Source SAIF.Presentation.Web.Binding.Infragistics111/clsObjectBinderbase.vb

BR-BIND-032: Error text split and BR stripped

Field Value
Statement Multi-line error text is split on CRLF, <BR> markup is stripped, and blank fragments are discarded.
Trigger GetErrors, grid validation
Enforcement clsObjectBinderbase.vb, clsUltraGridBinder.vb
Outcome Each rule violation becomes one clean message.
Source SAIF.Presentation.Web.Binding.Infragistics111/clsObjectBinderbase.vb, SAIF.Presentation.Web.Binding.Infragistics111/InfragisticsClassicControls/clsUltraGridBinder.vb

BR-BIND-033: Non-empty error text flags control

Field Value
Statement A control with non-empty error text is marked as containing an error.
Trigger GetErrors
Enforcement clsObjectBinderbase.vb
Outcome Error styling and the overall result follow the message.
Source SAIF.Presentation.Web.Binding.Infragistics111/clsObjectBinderbase.vb

BR-BIND-034: Duplicate messages reported once

Field Value
Statement Duplicate error messages are reported only once per validation pass.
Trigger Validate, RefreshValidation
Enforcement clsObjectBindManager.vb
Outcome Users do not see the same message repeated for every bound control.
Source SAIF.Presentation.Web.Binding.Infragistics111/clsObjectBindManager.vb

BR-BIND-035: First error control recorded

Field Value
Statement The first control found with an error is recorded so the page can focus it.
Trigger Validate, RefreshValidation
Enforcement clsObjectBindManager.vb
Outcome The user is taken to the first problem field.
Source SAIF.Presentation.Web.Binding.Infragistics111/clsObjectBindManager.vb

BR-BIND-036: Clean binder preserves first error control formatting

Field Value
Statement A clean binder does not reset the formatting of a control that another binder already flagged as the first error control.
Trigger Validate, RefreshValidation
Enforcement clsObjectBindManager.vb
Outcome Error highlighting survives multiple bindings on one control.
Source SAIF.Presentation.Web.Binding.Infragistics111/clsObjectBindManager.vb

BR-BIND-037: Error styling by control type

Field Value
Statement Error styling is errorbordercolor for multiline text boxes and check boxes, errorbackcolor for all other controls.
Trigger SetControlFormat(False)
Enforcement clsObjectBinderbase.vb
Outcome Error indication is visible on controls whose background cannot be tinted.
Source SAIF.Presentation.Web.Binding.Infragistics111/clsObjectBinderbase.vb

BR-BIND-038: Grids never styled at control level

Field Value
Statement UltraWebGrid and WebDataGrid controls are never given error or valid CSS classes at the control level.
Trigger SetControlFormat
Enforcement clsObjectBinderbase.vb
Outcome Grid errors are shown per cell, not per grid.
Source SAIF.Presentation.Web.Binding.Infragistics111/clsObjectBinderbase.vb

BR-BIND-039: Disabled controls not restyled on success

Field Value
Statement A control already styled disabledbackcolor (protected/read-only) is never restyled on a successful validation.
Trigger SetControlFormat(True)
Enforcement clsObjectBinderbase.vb
Outcome Protected fields keep their disabled appearance.
Source SAIF.Presentation.Web.Binding.Infragistics111/clsObjectBinderbase.vb

BR-BIND-040: Valid styling by control type

Field Value
Statement Valid styling is normal for labels, an empty class for check boxes, and defaultbackcolor for everything else.
Trigger SetControlFormat(True)
Enforcement clsObjectBinderbase.vb
Outcome Consistent post-validation appearance.
Source SAIF.Presentation.Web.Binding.Infragistics111/clsObjectBinderbase.vb

BR-BIND-041: Distinct messages joined with BR

Field Value
Statement All distinct error messages are concatenated with <BR> separators.
Trigger FormattedErrorMessage
Enforcement clsObjectBindManager.vb
Outcome One HTML block lists every problem.
Source SAIF.Presentation.Web.Binding.Infragistics111/clsObjectBindManager.vb

BR-BIND-042: Formatted message written to configured controls

Field Value
Statement The formatted message is written to ErrorLabel and/or SAIFMessage only when those properties are set.
Trigger End of Validate / RefreshValidation
Enforcement clsObjectBindManager.vb
Outcome Pages without an error control are unaffected.
Source SAIF.Presentation.Web.Binding.Infragistics111/clsObjectBindManager.vb

BR-BIND-043: RefreshValidation skips bind-source revalidation

Field Value
Statement RefreshValidation re-renders existing error state without re-running business object validation.
Trigger RefreshValidation
Enforcement clsObjectBindManager.vb
Outcome Error display can be refreshed cheaply after a partial postback.
Source SAIF.Presentation.Web.Binding.Infragistics111/clsObjectBindManager.vb

BR-BIND-044: Grid validation resets formatting first

Field Value
Statement Grid validation first restores every cell's normal (or alternate-row) background before applying new highlighting.
Trigger GetErrors on a grid binder
Enforcement clsUltraGridBinder.vb (ResetControlFormatting, ResetRows)
Outcome Stale red cells from a previous pass are cleared.
Source SAIF.Presentation.Web.Binding.Infragistics111/InfragisticsClassicControls/clsUltraGridBinder.vb

BR-BIND-045: Collection-level error short-circuits row validation

Field Value
Statement A collection-level error reported by the bound collection short-circuits per-row validation.
Trigger Grid GetErrors with a non-empty IDataErrorInfo.Error
Enforcement clsUltraGridBinder.vb
Outcome Collection-wide problems are reported without per-cell noise.
Source SAIF.Presentation.Web.Binding.Infragistics111/InfragisticsClassicControls/clsUltraGridBinder.vb

BR-BIND-046: Non-IDataErrorInfo objects skipped silently

Field Value
Statement Objects that do not implement IDataErrorInfo are skipped silently rather than raising an error.
Trigger Cast failure in grid validation
Enforcement clsUltraGridBinder.vb
Outcome Mixed collections do not break the page.
Source SAIF.Presentation.Web.Binding.Infragistics111/InfragisticsClassicControls/clsUltraGridBinder.vb

BR-BIND-047: Child bands resolved via BaseTableName

Field Value
Statement Child bands are validated by resolving the child collection named by Band.BaseTableName on the parent object.
Trigger Grid validation with band index > 0
Enforcement clsUltraGridBinder.vb
Outcome Hierarchical grids validate the whole object graph.
Source SAIF.Presentation.Web.Binding.Infragistics111/InfragisticsClassicControls/clsUltraGridBinder.vb

BR-BIND-048: Grid column keys map to property names

Field Value
Statement Grid column keys must match business object property names — the column key is used directly as the IDataErrorInfo property name.
Trigger Grid validation
Enforcement clsUltraGridBinder.vb (ValidateObject)
Outcome Column-to-property mapping is by convention, not configuration.
Source SAIF.Presentation.Web.Binding.Infragistics111/InfragisticsClassicControls/clsUltraGridBinder.vb

BR-BIND-049: Grid row located by key property

Field Value
Statement The grid row for an object is located by its key property value, or by the band-specific key for hierarchical grids.
Trigger Grid validation
Enforcement clsUltraGridBinder.vb
Outcome Errors are highlighted on the correct row.
Source SAIF.Presentation.Web.Binding.Infragistics111/InfragisticsClassicControls/clsUltraGridBinder.vb

BR-BIND-050: Invalid cells highlighted; first cell activated

Field Value
Statement Every invalid cell is coloured red, and only the first invalid cell is activated.
Trigger Grid validation
Enforcement clsUltraGridBinder.vb (ValidateObject)
Outcome All errors are visible; the cursor lands on the first.
Source SAIF.Presentation.Web.Binding.Infragistics111/InfragisticsClassicControls/clsUltraGridBinder.vb

BR-BIND-051: Property validator receives bind source and error list

Field Value
Statement A property-type custom validator receives the bind source, the property name and the error list so it can append its own messages.
Trigger PerformValidation with ValidationType = Property
Enforcement clsCustomValidator.vb
Outcome Applications extend validation without subclassing.
Source SAIF.Presentation.Web.Binding.Infragistics111/clsCustomValidator.vb

BR-BIND-052: Method validator False marks error

Field Value
Statement A method-type custom validator that returns False marks the binder as containing an error.
Trigger PerformValidation with ValidationType = Method
Enforcement clsCustomValidator.vb
Outcome Arbitrary cross-field checks participate in validation.
Source SAIF.Presentation.Web.Binding.Infragistics111/clsCustomValidator.vb

BR-BIND-053: Object validator returns IsValid

Field Value
Statement An object-type custom validator returns the SAIF framework object's IsValid value; non-framework objects are treated as valid.
Trigger PerformValidation with ValidationType = Object
Enforcement clsCustomValidator.vb
Outcome Whole-object validity gates the page.
Source SAIF.Presentation.Web.Binding.Infragistics111/clsCustomValidator.vb

BR-BIND-054: Missing delegate is silent no-op

Field Value
Statement A custom validator with no delegate assigned is a silent no-op.
Trigger PerformValidation with a Nothing delegate
Enforcement clsCustomValidator.vb
Outcome Partially configured validators do not fail.
Source SAIF.Presentation.Web.Binding.Infragistics111/clsCustomValidator.vb

BR-BIND-055: Update matches binder by class name

Field Value
Statement Update matches binders by runtime binder class name.
Trigger Update overloads
Enforcement clsObjectBindManager.vb
Outcome Only the intended binder family is considered.
Source SAIF.Presentation.Web.Binding.Infragistics111/clsObjectBindManager.vb

BR-BIND-056: Update matches control by UniqueID

Field Value
Statement Update matches a binder to a control by case-insensitive UniqueID comparison.
Trigger Update overloads
Enforcement clsObjectBindManager.vb
Outcome The right binder is re-pointed.
Source SAIF.Presentation.Web.Binding.Infragistics111/clsObjectBindManager.vb

BR-BIND-057: Re-pointed binder is re-added and rebinds

Field Value
Statement Re-pointing a binder's data source flags an update, then re-registers the binder via AddBinder and calls ObjectToControl().
Trigger Update overloads
Enforcement clsObjectBindManager.vb
Outcome The control shows the new data source immediately after Update.
Source SAIF.Presentation.Web.Binding.Infragistics111/clsObjectBindManager.vb

BR-BIND-058: Dual binding limited to six control types

Field Value
Statement Dual binding is supported only for the six control types in CustomBindingControls.
Trigger AddDualBinder
Enforcement clsObjectBindManager.vb
Outcome Unsupported control types cannot be dual-bound.
Source SAIF.Presentation.Web.Binding.Infragistics111/clsObjectBindManager.vb

BR-BIND-059: Dual binding separates bind and validation pairs

Field Value
Statement Dual binding records the bind source/property and the validation source/property separately.
Trigger SetDualBinding
Enforcement clsObjectBinderbase.vb
Outcome A control can display one object and validate another.
Source SAIF.Presentation.Web.Binding.Infragistics111/clsObjectBinderbase.vb

BR-BIND-060: Binder lookup by exact UniqueID

Field Value
Statement Binder(control) matches on an exact UniqueID comparison and returns Nothing when no binder is registered for the control.
Trigger Binder property
Enforcement clsObjectBindManager.vb
Outcome Callers must null-check before use.
Source SAIF.Presentation.Web.Binding.Infragistics111/clsObjectBindManager.vb

BR-BIND-061: Framework object detected by base-class name

Field Value
Statement An object is treated as a SAIF framework business object when any type in its base-class chain is named clsBusinessBase or clsBusinessCollectionBase.
Trigger IsSAIFFrameWorkObject
Enforcement clsObjectBinderbase.vb, clsObjectBindManager.vb
Outcome Framework-specific behavior (MyGuid keying, IsValid checks) applies only to BOF objects.
Source SAIF.Presentation.Web.Binding.Infragistics111/clsObjectBinderbase.vb, SAIF.Presentation.Web.Binding.Infragistics111/clsObjectBindManager.vb

Inherited business rules

Rules in this section originate from base classes provided by SAIF.Framework.Core (the clsBusinessBase / clsBusinessCollectionBase hierarchy). They are enforced by inherited BOF behavior, not by code in this library — this library only triggers and observes them through the MyGuid / IsValid / IDataErrorInfo surface described in BR-BIND-061.

INH-BIND-001: Broken rules gate IsValid

Field Value
Statement IsValid becomes False when a business object's registered rules (evaluated by clsRulesManager) find a broken rule, and the broken-rules collection carries the corresponding messages until the condition clears.†
Trigger Property change or lifecycle method that causes rule re-evaluation on the business object†
Enforcement clsBusinessBase / clsRulesManager (SAIF.Framework.Core)
Outcome Reading IsValid (as this library's ValidateBindSources does in BR-BIND-029) reflects the object's current rule state, and IDataErrorInfo.Item(property) (harvested in BR-BIND-031) surfaces the broken-rule messages.†
Origin SAIF.Framework.Core — clsBusinessBase
Source Retrieved from indexed documentation via Legends CLI

Notes

  • Mark inferred statements with * and unknown statements with **. Do not use bold inline confidence labels.
  • Statements marked with † were retrieved from dependency library documentation via the Legends CLI RAG service.

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. They describe inherited behavior from the indicated origin library and should be verified if the dependency version changes.

Sources

  • SAIF.Presentation.Web.Binding.Infragistics111/clsObjectBindManager.vb
  • SAIF.Presentation.Web.Binding.Infragistics111/clsObjectBinderbase.vb
  • SAIF.Presentation.Web.Binding.Infragistics111/clsCustomValidator.vb
  • SAIF.Presentation.Web.Binding.Infragistics111/ASPControls/clsCheckBoxBinder.vb
  • SAIF.Presentation.Web.Binding.Infragistics111/ASPControls/clsTextBoxBinder.vb
  • SAIF.Presentation.Web.Binding.Infragistics111/InfragisticsClassicControls/clsWebNumericEditBinder.vb
  • SAIF.Presentation.Web.Binding.Infragistics111/InfragisticsClassicControls/clsUltraGridBinder.vb
  • SAIF.Presentation.Web.Binding.Infragistics111/InfragisticsControls/clsWebNumericEditorBinder.vb
  • SAIF.Presentation.Web.Binding.Infragistics111/InfragisticsControls/clsWebDataGridBinder.vb
  • SAIF.Presentation.Web.Binding.Infragistics111/InfragisticsControls/clsWebHierarchicalDataGridBinder.vb