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