In this blog, I will explore the HTML 5 new item type features of Oracle APEX 4.2. The objective is to use the new number, e-mail, phone number and url html 5 item type and the native browser validation capability.
I have created a new database application with the theme 25 which fatures responsive design principles (auto adjusts to the screen dimensions and works well on desktop, tablet and mobile devices).
To continue my html 5 item type test, I tried to add a new item on the home page previously created.
I went to the item type selection such as number, e-mail, telephone and URL, but unfortunately, there are not displayed! Where are they?
I’m surprised that all item types are not already supported.
At the bottom of the item type page selection, a drop down list is present to show or not the unsupported item type such as date picker (html5)(unsupported), slider (unsupported).
So in this blog, I tried it. What would be the effect?
I added this new item type which works well and is display correctly. But it’s not supported by Oracle, to be used at your own risk.
On the sample below, date picker and slider use native html5 item type are displayed as wished
Date picker resulting html code is as follows:
Slider resulting html code is as follows:
When I change the values, the value of each html5 type is correctly set.
Let’s have a look at the unsupported item type and see the difference using database application with jQuery Mobile Smartphone User interface and associated themes.
I tried to create a JQuery Mobile database application for testing purposes.
On the homepage, I added a new item and when the selection page of the item type appears, I was suprised that there are other items than the desktop user interface.
Note that the html5 date picker and slider are supported. Some other item type such as shuttle, text field with autocomplete, list manager, rich text editor, date picker are not supported for this application type.
At this stage, I understand that depending on the context (database desktop and mobile user interface) the supported and unsupported item type are not the same.
For this blog posting, I wanted to use the item type such as native HTML 5 input type number, phone number, e-mail, etc.
To add this new item type, you just have to create a new text field:
These Html 5 types have been categorized as a subtype of the standard text field. It can be set in the properties.
The following picture shows a text field e-mail subtype creation:
On the page rendering, you will find the code generated by the APEX Engine and interpreted by Google Chrome.
The required code is correctly generated.
So let’s try the native browser user input validation. Surprise! No validation is performed by the browser before submitting the form.
So, unfortunately, and prematurely, this new type is not ready. It is not compliant with the W3C standard and not ready to be validated correctly in this APEX version.
The fact is that the html form attribute has the “novalidate” properties which restrict the HTML 5 items type features.
The “novalidate” attribute specifies that the input form-data should not be validated when submitted and therefore restricts the usage.
Let’s have a quick look on the used template. The #FORM_OPEN# substitution string for all templates is not customizable and is part of the internal APEX engine. The html tag property is not customizable yet.
To conclude, this new release of Oracle APEX 4.2 seems quite pretty with its HTML5 support, but it is not yet usable.