dojo.connect(form, "onsubmit", function(event){ dojo.stopEvent(event); var digit_form = dijit.byId("user_profile_form"); if (!digit_form.validate()) { return false; } // client-side validation is ok, so we submit form using AJAX var xhrArgs = { form: form, handleAs: "json", load: function(responseText){ // here I get response from server // and if there are errors on server // responseText object contains array with errors, so I // need to show this errors to user }, error: function(error) { } } var deferred = dojo.xhrPost(xhrArgs); }