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.
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.
Switchable element always needs to be taken into account for rendering, the
Context element is not essential for rendering.
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 acts as signal to e.g. apply special styling, but rendering the contents without considering the
Context element itself will not break the form.
The root element of the JSON structure is the
elements property of this
Form Container contains the actual form elements that all share a set of properties.
These elements are:
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.
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.
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.
To better illustrate the use of the XS2A Form scheme some Examples are provided.