Requirements
Requirement | Description | Native APEX Validation | Automatic Constraint Validation Pro | |
---|---|---|---|---|
1 | The plug-in should report data integrity problems for forms on tables and views with clear explanations. | The plug-in should effortlessly execute native Oracle DML validations for single form Items based on SQL table columns. Purpose: Provide a smart solution for complete and systematic validation of data integrity problems that may prevent the processing of DML operations when the form is saved. | Usually, you have to program APEX validations for each field to display meaningful validation messages. When you submit an APEX form for DML processing, constraint errors are reported in a cryptic page message that is confusing for application users. | The plug-in displays 19 pre-configured validation messages for formats, limits, and constraints. Composite constraints are evaluated when all involved fields have an appropriate value. When unique key, foreign key or check constraints fail, meaningful messages with hints for a solution are displayed. |
2 | The plug-in should perform validations immediately when data entry for a form field is completed and the user hits a tab-key or performs a mouse click or finger tap. (On Lose Focus) | Usually, when immediate verification is desired, you must program client-side validations by writing custom JavaScript functions. Programming validations is difficult because you have to handle the cases where the input data is missing or fails in conversion or is out of range for each addressed column before you can evaluate the actual constraint condition. Purpose: Users of personal devices expect immediate verification of their input. | Oracle DML validations are always executed on submission of the form. | The plug-in can evaluate field input using a JavaScript event handler before the user has started typing in the next field. A high-performance AJAX process performs validations asynchronously based on the context of the last input and can display results after ca. 0.03 seconds in a LAN network. |
3 | The plug-in should associate the affected item with the validation message. | Usually, when you need to display a message with an associate item, you have to program APEX validations or JavaScript client-side validations for each field. Purpose: When you have public users that require comfort and good guidance in the case of input errors, you will have to invest a lot of time to program a case-specific solution. | APEX will report errors associated with items for required fields and for data conversion errors. Constraint errors are reported in a cryptic page message without an associated Item or grid cell. | Validation messages with associated items will be displayed or cleared where the last input was entered, and other involved fields in the current record will be reevaluated and highlighted automatically. |
4 | The plug-in should be able to execute interactive grid column validations. | Purpose: Support interactive grid column validation. | Performs check for required values on Lose Focus, and basic and predefined validations on Save. | The plug-in supports immediate validating interactive grid columns in Report Views and Single Row Views on Lose Focus. |
5 | The plug-in should execute all validations server-side using an AJAX call. | The end-user can turn off the JavaScript in their browser settings which is the reason that all validations that can be executed on the client-side should be rechecked on the server-side. Purpose: Prevent end-users from disabling validation using JavaScript. | Oracle DML validations are always executed on the server-side. | The plug-in always evaluates defined validations on the server-side. |
6 | The plug-in should be able to execute items validations on an event triggered on the specified form region. | Purpose: Reduce the effort required to validate all items in the specified region. Instead of specifying item(s) specify the region. | Oracle APEX validation can be restricted to a given request (When Button Pressed) which is associated with an APEX button. | When the Dynamic Action Selection Type is set to Region, the plug-in will validate items embedded in the specified region. |
7 | The plug-in should be able to validate a given item(s). | Purpose: Give the possibility to specify which items should be validated using the plug-in. | Oracle APEX validation can be restricted to a given request (When Button Pressed) which is associated with an APEX button. | When the Dynamic Action Selection Type is set to jQuery Selector, the plug-in will validate specified items. |
8 | The plug-in should be able to execute item validations on a custom event triggered on the document (DOM tree node) | Purpose: Give the possibility to bind the plug-in validation from global page 0. | Native Oracle APEX validation can be performed only after the page is submitted. | When the Dynamic Action Selection Type is set to jQuery Selector, the plug-in will validate specified items on all pages with DML Forms or Interactive Grids. A special server-side condition can disable the global plug-in on page 0 when the plug-in is invoked on the current application page. |
9 | The plug-in should be able to execute column validations (for the currently edited row) on an event triggered by an interactive grid. | Purpose: Reduce the amount of effort required to bind the plug-in with all interactive grid columns. | Native Oracle APEX validation is done after the interactive grid save action is triggered. | When the Dynamic Action Selection Type is set to Region, the plug-in will validate grid cells in the specified Region (Interactive Grid). |
10 | The plug-in should expose validation events. | Purpose: Allow developers to control and enhance the validation process. Using the plug-in events it is possible to visualize the validation process, validation results, and build custom a validation flow. | Native Oracle APEX validation doesn’t trigger events. When validation is successful the page is reloaded. When validation fails the page is not reloaded and validation errors are shown. | The plug-in fires different events at each validation step. |
11 | The plug-in should allow the execution of validations after a button is clicked. | Purpose: Mimic native validation behavior. | Native Oracle DML validation is always performed after the button which submits the page is clicked. | The plug-in validation can be triggered on a button click event by executing a PL/SQL procedure with arguments to create more user-friendly validation messages. |
12 | The plug-in should allow item/column validation on the item/column event. | Purpose: Get validation results right after the user inputs data into the item/column. | Native Oracle APEX validation can be performed only after the page is submitted. | The plug-in validation can be triggered on the item/column events supported by Oracle APEX dynamic actions. The events Change and Lose Focus are supported. |
13 | The plug-in should render validation errors using the Oracle APEX JavaScript API. | Purpose: Mimic native validation behavior. | Native Oracle APEX validation renders validation results using the apex.message API. | Validation errors are shown using the Oracle APEX apex.message API. The plug-In uses APEX standard validation messages plus plug-in-specific messages. |
14 | The plug-in should display validation errors in positions supported by APEX. | Validation errors can be shown in 4 different positions. Purpose: Mimic native validation behavior. | Native Oracle APEX validation behavior | The plug-in supports the positions Inline and Page. Item-specific messages are always displayed Inline. Plug-in settings for additional Page notifications for DML Forms, IG Report Views, and IG Single Row Views are provided. |
15 | The plug-in should support translations for native DML validations | Validations are translated using the built-in Globalization feature. Purpose: Mimic the native feature. | Oracle APEX validations are translated using a shadow application. | The plug-in supports a shadow application. Translated Text Messages for 8 common languages are provided. |
16 | The plug-in should allow its execution to be debugged. | The plug-in validation process can be inspected using the Oracle APEX debug feature. Purpose: Mimic the native validation debug. | Native Oracle APEX validation can be inspected in debug mode. | The plug-in supports debug mode and logs the plug-in validation process. |
17 | Stop on Error | Developers can define whether true/false actions following plug-in validation should be skipped when the validation fails. Purpose: Give the developer control over dynamic action flow. | Native Oracle APEX validation is executed once on page submit and doesn’t need such a feature. | Plug-in feature |
18 | Wait for results | Developers can define whether true actions following plug-in validation should be executed immediately after starting the validation or if they should wait for validation results. Purpose: Give a developer control over dynamic action flow. | Native Oracle APEX validation is executed once on page submission and doesn’t need such a feature | Plug-in feature |