2013-04-01 3 views
1

У меня есть MVC2 C#. Net Web App. Мы используем встроенный в MVC3 Проверка с использованием свойств класса Domain [Required(ErrorMessage = "Start From is required.")] и в HTML @Html.ValidationMessageFor(model => model.StartFrom)MVC3 C# Отключение сообщений проверки при отмене

Однако, когда мы подчиняемся страницу с помощью кнопки Отмена, проверка обжигают констатирую «Начать с ТРЕБУЕТСЯ» и, следовательно, не выхода из страницы. Как отключить проверку на кнопке «Отмена»? Или отправьте страницу без активации проверки?

+2

Почему вы используете POSTing, когда пользователь нажимает кнопку «Отмена»? Возможно, вы могли бы изменить кнопку на ссылку? – jrummell

+0

@ jrummell .... Я нашел ответ, который мне нужен. См. Мой ответ ниже. THx – MikeTWebb

+0

Возможный дубликат [jQuery Validation plugin: отключить проверку для указанных кнопок отправки] (http://stackoverflow.com/questions/203844/jquery-validation-plugin-disable-validation-for-specified-submit-buttons) – jrummell

ответ

1

Я думаю, вам нужно переопределить поведение по умолчанию кнопки отправки, т. Е. Кнопку «Отмена» в вашем случае.

Скажем у вас есть кнопка отмены, как это:

<input type="submit" id="btnCancel" value="cancel"/> 

Запишем теперь JQuery переопределить поведение по умолчанию

$(function(){ 
    $('#btnCancel').click(function(e){ 
     e.preventDefault(); 
     //or you can return false from this method. 
     //return false; 
    }); 
}); 
+0

@ Karthik ... это близко. Он отменяет проверку, но страница не отправляется. Когда я добавляю $ ('form'). Submit(); страница отправляется, но также выполняется проверка. – MikeTWebb

0

Я нашел ответ здесь, на Stackoverflow :) jQuery disable validation Каждый из первые два ответа в этой ссылке работали для меня. @ Karthik, спасибо за ответ. Это заставило меня на верном пути

Ответ 1:

<input id = "theCancel" class="cancel" type="submit" value="Cancel" /> 

Ответ 2:

$(function() { 
    $('#theCancel').click(function (e) { 
     $("form").validate().cancelSubmit = true; 
    }); 
}); 

Я выбрал ответ 2 и поставить его в нашей глобальной JS файл. Все наши кнопки Отмена имеют идентификатор «theCancel»

+0

Ну, я только что увидел аналогичный ответ в SO, чтобы добавить класс отмены. –

+0

Да, это то, что я, вероятно, буду использовать ... class = "cancel" – MikeTWebb