Проверка модели MVC3 «Ненавязчивый JavaScript» - PullRequest
1 голос
/ 22 февраля 2012

Раньше мои вызовы ajax делались так:

        form.bind("submit", function(e) {
            e.preventDefault();
            form.ajaxSpin("large");
            form.ajaxSubmit({
                success: function(result) {
                    if (!b.ajaxFailure(result, true)) {
                        if(b.validateForm(form,result)) {
                            console.log(result); // TODO: something?
                        }
                    }
                },
                complete: function() {
                    form.ajaxSpin(false);
                }
            });
        });

, пока мой дизайн постепенно улучшается.
и теперь я хочу реализовать проверку модели на стороне клиента, прежде чем делатьфактический запрос.

Я включил в проект плагин jquery.validation.js вместе с последним скриптом jquery.validation.unobtrusive.js.

Затем я изменил свой код на:

        form.validate({
            submitHandler: function() {
                form.ajaxSpin("large");
                form.ajaxSubmit({
                    success: function(result) {
                        if (!b.ajaxFailure(result, true)) {
                            if (b.validateForm(form, result)) {
                                console.log(result); // TODO: something?
                            }
                        }
                    },
                    complete: function() {
                        form.ajaxSpin(false);
                    }
                });
            }
        });

, который, как я полагал, был бы точно таким же, за исключением того, что он не будет делать запросы, если проверка не пройдёт сначала.

аспект проверки работает отлично, полностью, как и ожидалось, используя атрибуты данных, которые наборы mvc из моделина мой взгляд, DOM.

часть, где это не удается, и я не могу понять, почему я вернулся к тому, чтобы не быть AJAX.страница просто перезагружается, мой submitHandler никогда не срабатывает (вопреки тому, что эта ссылка предлагает)

Я попробовал несколько других распространенных имен для submitHandler (onSuccess, success и т. д.), но, похоже, ни один из них не работает.

...