XS2A Form
The XS2A Form Schema describes the form elements on the bank website that have to be interacted with by the consumer. The XS2A Form is JSON based to enable usage of non-HTML elements as well as custom behaviour.
This schema was designed to let the client decide how to layout and design the form elements by minimizing layout specifications and - if appropriate - providing only suggestions that can be ignored.
Rendering
The form is presented as JSON that allows for a nested strucure, meaning that some form elements can contain other form elements. However, most of the form elements do not contain other elements, thus many combinations will essentially be a list of elements that could be rendered in a vertical succession in the provided order.
The only elements that contain other elements are the Switchable
and the Context
element.
While the Switchable
element always needs to be taken into account for rendering, the Context
element is not essential for rendering.
The Context
element can be used as an indicator to render its contents differently, or the child elements could be rendered as if they were part of the form without being wrapped in a Context
element.
So the Context
element acts as signal to e.g. apply special styling, but rendering the contents without considering the Context
element itself will not break the form.
Structure
The root element of the JSON structure is the Form Container
.
The elements
property of this Form Container
contains the actual form elements that all share a set of properties.
These elements are:
Versioning
In order for the client to determine whether or not an XS2A Form element can be displayed correctly the XS2A Form scheme provides detailed version information. Instead of assigning one "global" version number for the XS2A Form scheme each XS2A Form element has its own semantic version.
This way adding or changing a form element only requires adjustments from those clients that actually receive forms that contain the added/changed form element. Clients that never come across the added or changed form element, because they e.g. only operate in markets where the form element is not used, do not have to update their integration.
Validation
The XS2A Form scheme provides information on how to do client-side validation. Specific information on how to validate on the client-side can be found on the respective pages of the applicable XS2A Form elements.
Whether or not the client validates the data, the Auth API will perform a Server-side Validation and return information about invalid values if present.
Sending Form Data
Information on how to respond to the Auth API when receiving a form can be found here, in the examples below and on each of the pages of the applicable form elements.
Examples
To better illustrate the use of the XS2A Form scheme some Examples are provided.