Turn off instant validation when losing focus

http://stackoverflow.com/questions/14979144/turn-off-instant-validation-when-losing-focus

HTML

<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/dojo/1.8.1/dijit/themes/claro/claro.css">
<div id="txt" data-dojo-type="dijit/form/ValidationTextBox" data-dojo-props="required: true"></div>
<div id="dt" data-dojo-type="dijit/form/DateTextBox" data-dojo-props="required: true"></div>
<div id="btn" data-dojo-type="dijit/form/Button" data-dojo-props="label: 'Validate!'"></div>

JavaScript

require(["dojo/ready", "dojo/parser", "dijit/registry", "dojo/on", "dojo/_base/array", "dijit/form/Button", "dijit/form/ValidationTextBox", "dijit/form/DateTextBox", "dijit/form/TextBox"], function(ready, parser, registry, on, array, Button, ValidationTextBox, DateTextBox, TextBox) {
 
    ready(100, function(){
         
        // patch the ValidationTextBox before parsing.
        ValidationTextBox.prototype._setValueAttr = function() {
            //this.inherited(arguments);
            //this.validate(this.focused); Do not validate
            TextBox.prototype._setValueAttr.apply(this, arguments);
        };
        
        ValidationTextBox.prototype._refreshState = function(){
            TextBox.prototype._refreshState.apply(this, arguments);
		};
        
        parser.parse();
        var widgets = [registry.byId("txt"),registry.byId("dt")];
        on(registry.byId("btn"), 'click', function() {
            array.forEach(widgets, function(w) {
                w._hasBeenBlurred = true;
                w.validate();
            });
        });
    });
    
});