Yes. Organizations that adopt OutSystems can leverage great layout and styling features, conditional display and incremental disclosure constructs, and form validations to develop complex forms. Customers have used these features to develop:
Replicas of extensive paper-based forms
Huge healthcare, insurance or legal data entry interfaces with a multitude of fields
Elaborate validation and display rules that are based on complex business logic.
Layout and styling
Separating a complex form into multiple sections with consistent input sizes and perfect alignment is never an easy task. OutSystems has great features to help ease this process:
A built-in grid system allows developers to easily align elements in a page and size them proportionately.
A complete UI framework with powerful constructs helps you with structure, content, data and controls. Splitting the page in 3 or more columns is now easy. Beautiful panels, collapsible sections, slick alert boxes, info balloons and touch-ready controls enable the creation of complex forms that can be displayed in any device.
The CSS editor gives developers full control over how to style the pages and controls.
This graphics shows an example of a complex form:
Conditional display and incremental disclosure
A complex form may have certain sections displayed incrementally as the user provides specific input. Other forms may have different sections or fields that are only displayed to certain user roles. OutSystems makes these scenarios easy to handle:
Role-based security and simple constructs check a user's role at the UI or business logic level.
The visible property of UI elements allows control of their rendering.
A visual IF construct renders its true or false branch upon evaluation of a Boolean expression.
Built-in AJAX capabilities enable reload, refresh and removal of the form without reloading the entire page by means of the built-in AJAX capabilities
Constructs enable UI control events such has triggering server side actions when a combo box value is selected, a check box is selected or a text input changes.
This is an example of how a part of the page is rendered, depending on a condition:
OutSystems enables client-side and server-side validations of form data.
On the client side, mandatory field and data type mismatch validations can be enabled without any coding.
The server-side events to validate, manipulate or save data can take full advantage of all OutSystems constructs to perform such actions. Queries, web service calls, text manipulation functions, mathematical functions, data formatting and conversion are just a few of the most commonly used constructs to validate forms data.
Controls have a built-in error message property that can be used to automatically display the validation messages on the screen.
This example shows an error message displayed on screen:
This example shows form validation logic: