Переопределение protectDefault () в шаблоне модуля JavaScript - PullRequest
0 голосов
/ 12 ноября 2011

Я использую шаблон синглтона для создания сценария обработки формы ...

Я не хочу публиковать весь код, но первый метод использует protectDefault:

//public methods
    handleSubmit: function (e) {

        //prevent the default submission process
        e.preventDefault();

},

protectDafault делает то, что должен, а именно захватывает форму, чтобы остановить обработку на стороне сервера.

Затем я создал правила проверки ... и, если все правила проверки пройдены, он завершается этим методом:

validData: function (error) {
        if (error.length === 0) {
            return true;
        } else {
            // If there are errors in the form then run alert message
            alert(error);
        }

    },

При отсутствии ошибок серверный скрипт обрабатывает форму, и элемент добавляется в базу данных (я не использую AJAX, потому что у меня проблема с изображениями)

Однако возвращаемое значение true здесь не работает ... и я не знаю почему, но я уверен, что для этого есть очень простая причина

1 Ответ

0 голосов
/ 12 ноября 2011

Вы можете пропустить функцию protectDefault и просто сделать что-то подобное?

var hasErrors = false;
    if(myLogicHasErrors){
        hasErrors = true;
    }
    if(hasErrors) return false;

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

...