Check Lists:Web/Dojo HTML5 vs HTML4 Declarative vs Programmatic: Difference between revisions

From PMISwiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
==Dojo and Declarative HTML5==
==Dojo Declarative HTML5==
Normally it is possible to find programming examples and Declarative examples on how to define a Dijit widget. However it is more difficult to find Declarative HTML5 examples.
Normally it is possible to find programming examples and Declarative examples on how to define a Dijit widget. However, it is more difficult to find Declarative HTML5 examples.
 
This check list might help you to debug your declarative HTML5 widget.
This check list might help you to debug your declarative HTML5 widget.
* First you need at least Dojo 1.6.0 to get Dijit widget's to work with HTML5 mark-up (this is valid for most widgets).
* First you need at least Dojo 1.6.0 to get Dijit widget's to work with HTML5 mark-up (this is valid for most widgets).
* See the two examples below: Are you sure that all relevant parameters are declared in the data-dojo-props element.
* See the two examples below: Are you sure that all relevant parameters are declared in the data-dojo-props element.
* Some parameters are not presented the same way in HTML (see: placeholder) and dijit (placeHolder, onFocus, onClick) Dijit is case sensitive!
* Some parameters are not presented the same way in HTML (see: placeholder) and dijit (placeHolder, onFocus, onClick) JavaScript and Dijit are case sensitive!
* Some time you need to use the <div> element instead of  <input> or  <form>
* Some time you need to use the <div> element instead of  <input> or  <form>
===Validation of entered name===
===Validation of entered name===
This input validation control that something has been entered as name.
This input validation control that something has been entered as name.
Line 14: Line 16:
         dojoType="dijit.form.ValidationTextBox" missingMessage="Ooops!  You forgot your first name!" />
         dojoType="dijit.form.ValidationTextBox" missingMessage="Ooops!  You forgot your first name!" />
</syntaxhighlight>
</syntaxhighlight>
Example of Declarative dijit widget for HTML 5:
Example of Declarative dijit widget for HTML 5:
<syntaxhighlight lang="html4strict">
<syntaxhighlight lang="html4strict">
Line 24: Line 27:
         data-dojo-id="firstName"/>
         data-dojo-id="firstName"/>
</syntaxhighlight>
</syntaxhighlight>
===Validation of email===
===Validation of email===
When it comes to more complex validation the difference become bigger:
When it comes to more complex validation the difference become bigger:
Line 45: Line 49:
</syntaxhighlight>
</syntaxhighlight>
The two examples are tested in IE8 and Firefox 3.6.20
The two examples are tested in IE8 and Firefox 3.6.20
==HTML5 Declarative vs. Programmatic dijit==
===dijit.form.Select Declarative implementation===
soon to come..
===dijit.form.Select Programmatic implementation===
soon to come..
==References==
==References==
[http://dojotoolkit.org/features/1.6/html5data-attributes Dojotoolkit.org HTML5]
[http://dojotoolkit.org/features/1.6/html5data-attributes Dojotoolkit.org HTML5]

Revision as of 14:34, 21 September 2011

Dojo Declarative HTML5

Normally it is possible to find programming examples and Declarative examples on how to define a Dijit widget. However, it is more difficult to find Declarative HTML5 examples.

This check list might help you to debug your declarative HTML5 widget.

  • First you need at least Dojo 1.6.0 to get Dijit widget's to work with HTML5 mark-up (this is valid for most widgets).
  • See the two examples below: Are you sure that all relevant parameters are declared in the data-dojo-props element.
  • Some parameters are not presented the same way in HTML (see: placeholder) and dijit (placeHolder, onFocus, onClick) JavaScript and Dijit are case sensitive!
  • Some time you need to use the <div> element instead of <input> or <form>

Validation of entered name

This input validation control that something has been entered as name.

Example of Declarative dijit widget for HTML 4:

<input type="text" required="true" name="firstName" id="firstName" placeholder="Your Name" 
        dojoType="dijit.form.ValidationTextBox" missingMessage="Ooops!  You forgot your first name!" />

Example of Declarative dijit widget for HTML 5:

<input type="text"  name="firstName" 
        data-dojo-type="dijit.form.ValidationTextBox"  
        data-dojo-props=" required:true, 
                          promptMessage:'Enter Your Name',
                          placeHolder:'Your Name',
                          missingMessage:'Ooops!  You forgot your first name!'"
        data-dojo-id="firstName"/>

Validation of email

When it comes to more complex validation the difference become bigger: In this case validation of an entered email. The validator expects a function therefore it is necessary to wrap the dojox.validate.isEmailAddress() into a call back function.

Example of Declarative dijit widget for HTML 4:

<input type="text" required="true" name="email" id="email" dojoType="dijit.form.ValidationTextBox" validator="dojox.validate.isEmailAddress" />

Example of Declarative dijit widget for HTML 5:

<input type="text" name="email" id="email" 
        data-dojo-type="dijit.form.ValidationTextBox" 
        data-dojo-props=" required:true, 
                          promptMessage:'Enter Your email',
                          placeHolder:'Your email',
                          invalidMessage:'Ooops!  You email is not correct!',
                          validator: function (val){return dojox.validate.isEmailAddress(val)},
                          missingMessage:'Ooops!  You forgot your email!' " />

The two examples are tested in IE8 and Firefox 3.6.20

HTML5 Declarative vs. Programmatic dijit

dijit.form.Select Declarative implementation

soon to come..

dijit.form.Select Programmatic implementation

soon to come..

References

Dojotoolkit.org HTML5