2012-03-21 3 views
0

У меня есть приложение MVC, которое использует проверку аннотаций данных. У меня также есть кнопка, чтобы отправить некоторую ручную проверку jQuery. Я хочу, чтобы кнопка отправки спряталась, когда моя проверка jQuery прошла, и ненавязчивая проверка, реализованная инфраструктурой, проходит.Проверка достоверности данных MVC 3 с пользовательской проверкой jQuery

Это код, у меня есть:

$('#btnSubmit').click(function() { 
    if (!$('#Terms').is(':checked')) { 
     $('.termsLabel').animate({ color: "#c71040" }, 'slow'); 
     $('.termsLabel a').animate({ color: "#c71040" }, 'slow'); 
     return false; 
    } 

    if ($('.wordCount').hasClass('error')) { 
     $('.caption label').animate({ color: "#c71040" }, 'slow'); 
     return false; 
    } 

    if ($(form).valid()) { 
     $('#btnSubmit').hide(); 
     $('#submitting').show(); 
    } 

}); 

(Форма) .valid() метод всегда кажется, вернуться ложным (и скрыть/показать никогда не выполняется), даже когда форма размещения.

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

Любая помощь - ценится.

+0

Где определена форма? $ (форма) кажется неправильной. –

ответ

1

Я отвечу на свой вопрос.

На форме:

@using (Html.BeginForm("MyAction", "MyController", FormMethod.Post, new { @ID = "MyForm" })) 

А потом:

$('#MyForm').validate(); 

    if ($('#MyForm').valid()) { 
     $('#btnSubmit').hide(); 
     $('#submitting').show(); 
    } 

Проблема заключалась в том, я не давала моя форма имени, и не называли .validate()

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