Input Validation

<< Click to Display Table of Contents >>

RayPack > 7.3 u6 > User Guide > PackDesigner > MSI / MST / RPP Based Projects > Advanced Mode > Tables > Advanced Editor Interface Features 

Input Validation

The guiding theme for functionality and intelligence that is added to RayPack in general, and the TABLES view in particular, is the idea that we assist packagers with hints regarding invalid values and activities where required, but leave them the freedom to be able to turn their back on best practice and do what they see fit. This is why input validation is elaborated an a high level within the Visual Designer mode of PackDesigner, but kept to some essential basics within the TABLES view. The table editor is the place where experience packagers may do as they please. Therefore, the following information about input validation for values entered via the TABLES view is the minimum Raynet considers absolutely vital for packaging projects. Checks that are not mentioned explicitly are most likely not executed.

 

Validation During Row Creation

Non-nullable Values

Values marked as required due to MSI standard schema definitions are checked for existence during the add row execution check routine.

 

Type Restrictions

The add row dialog checks whether an entered value is correct towards the expected type. Therefore, error messages will be triggered when strings are entered for values that are expected to be integers.

Domain Boundaries

RayPack checks whether values entered into cells with restricted domain boundaries are valid. For example, if a cell belongs to a column of type integer, the maximal lower and upper limit of the integer definition is checked. Additionally, when string cells are limited to a specific length regarding the number of entered characters, the actually entered string length is checked.

 

Error Handling Within the Add Row Dialog

When the dialog is opened, the limitations regarding non-nullable cells are automatically marked by red background color for the affected input controls. Hovering over the input field reveals a tooltip including the matching error message.

 

If invalid values are entered, the same schema of red background color and tooltip info is applied to the affected input control. Additionally, when users try to save a new row, invalid values are referred to in error messages displayed in a red error info box at the bottom of the add row dialog.

 

As long as there are error messages left, users can only either adjust the reported value issues, or exit the dialog by clicking on CANCEL.

 

Validation During Row Manipulation

Non-nullable Values

Values marked as required due to MSI standard schema definitions are checked for existence during the save cell update check routine.

 

Type Restrictions

The save cell update check routine checks whether an entered value is correct towards the expected type. Therefore, error messages will be triggered when strings are entered for values that are expected to be integers to name just one occasion.

 

Domain Boundaries

RayPack checks whether values entered into cells with restricted domain boundaries are valid. For example, if a cell belongs to a column of type integer, the maximal lower and upper limit of the integer definition is checked. Additionally, when string cells are limited to a specific length regarding the number of entered characters, the actually entered string length is checked.

 

Error Handling Within the Table Details Pane

icnExclamationMarkIf invalid values are entered and the user tries to exit the direct inline edit mode for a cell, RayPack checks the value and displays an exclamation mark icon if the value is not valid. Hovering over the icon reveals a tool tip with the description of the issue that needs to be solved before the cell update can be accepted.

 

As long as the marker for invalid values is still displayed, users may either abort the cell update by hitting Escape on the keyboard, or keep on trying to adjust the entered value to match the given restrictions in order to be able to finally save the change.