2016-06-16 3 views
0

У меня есть форма, которую я использую jQuery Validate для проверки формы. Я столкнулся с проблемой. Форма проверяется дважды. Мой переменная «IsValid» записываются в консоль дважды послеjQuery Подтвердить: Форма проверяется дважды

Кнопки, которая срабатывает проверку является кнопкой типа

<button type="button" name="submit" id="submit" vclass="btn btn-default">Submit</button>

Ниже является JavaScript, который имеет свои правила и сообщения, которые будут отображаться пользователю. Он также включает событие click для кнопки.

$(function() { 
$("#createUser").validate({ 
    rules: { 
     FirstName: "required", 
     email: { 
      required: true, 
      minlength : 2 
     }, 
     zipCode: { 
      required: true, 
      maxlength : 5 
     }, 
     Telephone: { 
      required: function (element) { 
       return $('#options option:selected').val() != "1"; 
      }, 
      maxlength : 12 
     }, 
     options: { 
     required: true, 
     notEqual: "1" 
     } 
    }, 
    messages: { 
     FirstName: "Please specify your first name", 
     email: { 
      required: "This email field is required.", 
      minlength : "email had to have a min length of 2." 
     }, 
     zipCode: { 
      required: "Zip code is a required field.", 
      maxlength : "zip code cannot be more than 5 characters." 
     }, 
     Telephone: { 
      required : "Telephone is a required field.", 
      maxlength : "Phone number has to have a max length of 12 characters." 
     }, 
     options: { 
      required: "Option is a required field", 
      notEqual: "Select a different option" 
     } 
    } 
    }); 

jQuery.validator.addMethod("notEqual", function (value, element, param) { 
    return this.optional(element) || value != param; 
}, "Please specify a different (non-default) value"); 


    $('#submit').on('click', function() { 
    isValid = $('#createUser').valid(); 
    console.log(isValid); 
    }); 
}); 

Большинство вопросов, которые я нашел, связанные с формами проверяемого дважды приходится делать с наличием типа представить вместо кнопки. Кроме того, я не звоню в любой файл JavaScript. Что мне здесь не хватает?

+0

Мое предположение о том, что действие связываясь twice.Reproduce его в скрипкой, и я дам вам больше –

+1

, если правила находятся в отдельном js, убедитесь, что скрипт не ссылается дважды –

+0

@REDEVI_, что было проблемой. Я включаю папку в свой пакет. Затем я добавил ссылку на файл JavaScript, забыв, что папка также включена в мой пакет. Вы можете изменить свой комментарий на ответ, и я помечаю его как разрешенный. –

ответ

1

если правила находятся в отдельных JS, убедитесь, что сценарий не ссылаются дважды,

Смежные вопросы