Я использую формы Dojo и отправляю сообщения с использованием AJAX. Я использую 2 метода проверки: на стороне клиента и на стороне сервера:
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);
}
Проблема в том, что метод validate () показывает хорошие сообщения об ошибках пользователю, но когда я получаю ошибки от сервера, я не могу отображать ошибки, как метод validate (), поэтому я использую нативное предупреждение JavaScript () метод, который не так хорош. Я хотел бы, чтобы на экране сервера и клиента отображалось одинаковое количество ошибок.