Skip to content

SAIF.Presentation.Web.Controls.Infragistics103 business rules

This page captures business rules enforced by this library.

BR-1: Sentinel null-date suppression on focus

Field Value
Statement Dates equal to 01/01/1901 or 12/31/9999 are treated as "no date" sentinel values and must not be displayed to the user in an editable date field.
Trigger Field receives keyboard/mouse focus (onfocus).
Enforcement SAIFWebDateTimeEdit_Init client-script comparison against the literal strings, calling oEdit.setValue(null).
Outcome The displayed text is cleared client-side so the user sees a blank field instead of the sentinel date.
Source SAIF.Presentation.Web.Controls.Infragistics103\SAIFWebDateTimeEdit.vb

BR-2: Dangling phone-extension marker stripped

Field Value
Statement A phone number value with a trailing extension marker ("x") but no extension digits after it must be returned without the trailing marker.
Trigger PhoneValue property is read.
Enforcement SAIFWebMaskEdit.PhoneValue getter — index/length comparison and Substring truncation.
Outcome Returned phone string omits the dangling extension marker.
Source SAIF.Presentation.Web.Controls.Infragistics103\SAIFWebMaskEdit.vb

BR-3: Empty masked field returns empty string

Field Value
Statement An empty (untouched) masked-edit field must return an empty string rather than the mask's literal format/placeholder characters, for both phone and tax-ID fields.
Trigger PhoneValue or TaxIdValue property is read.
Enforcement Length check on RawText.Trim in both getters.
Outcome Empty string is returned when no data was entered.
Source SAIF.Presentation.Web.Controls.Infragistics103\SAIFWebMaskEdit.vb

BR-4: Async-refresh error redirects to central error page

Field Value
Statement When an Infragistics AJAX async-refresh operation fails with an error severity greater than 1 (flags > 1), the entire page must redirect to the centralized error page (/weberror/processError.aspx) with the error message.
Trigger Client-side Error event of the WebAsyncRefreshPanel/SAIFWarp control fires during an async postback.
Enforcement SAIFWarp_PreRender registers the SAIFWarp_Error script; inside SAIFWarp_Error(oPanel, oEvent, flags), the flags > 1 check calls navigate('/weberror/processError.aspx?MSG={0}'), where {0} is substituted by GetScriptWithMessage with the error message (default "An error occurred in an asynchronous callback.").
Outcome Browser navigates away from the async panel context to the shared error-handling screen.
Source SAIF.Presentation.Web.Controls.Infragistics103\SAIFWarp.vb

BR-5: Cascading dropdown filters Column2 options by Column1 key

Field Value
Statement The second cascading dropdown's (Column2) available options must be restricted, per grid row, to only those List2 entries whose key matches the currently selected value in the first dropdown (Column1), when the cell enters edit mode.
Trigger User begins editing a Column2 cell in the UltraWebGrid (BeforeEnterEditModeHandler fires).
Enforcement Client-side BeforeEdit{Column2.Key} function generated by clsDropDownController.GenerateJavaScript, invoked via Column1.Band.Grid.DisplayLayout.ClientSideEvents.BeforeEnterEditModeHandler.
Outcome col.ValueList for the cell is replaced with the filtered subset of options.
Source SAIF.Presentation.Web.Controls.Infragistics103\clsDropDownController.vb

Notes

  • No rules were found that are enforced only in database procedures, AppManager validation, or IsValid()/AddErrorMessage() patterns — this library contains no such constructs.

Sources

  • SAIF.Presentation.Web.Controls.Infragistics103\SAIFWebDateTimeEdit.vb
  • SAIF.Presentation.Web.Controls.Infragistics103\SAIFWebMaskEdit.vb
  • SAIF.Presentation.Web.Controls.Infragistics103\SAIFWarp.vb
  • SAIF.Presentation.Web.Controls.Infragistics103\clsDropDownController.vb