2011-01-24 4 views
7

На моей странице asp.net mvc мне нужно иметь «ясную» кнопку, которая сбрасывает определенные поля ввода и очищает все сообщения об ошибках. Очистка входов в порядке, но поскольку сообщения проверки достоверности генерируются javascript asp.net mvc, для меня не очевидно, как их очистить?Очистить сообщения о проверке ASP.Net MVC с помощью jQuery

Обновление: Это в конечном итоге хорошо работает для меня.

$(".field-validation-error").empty(); 
+0

Это сообщения об ошибках на стороне сервера, которые вы хотите очистить? –

+0

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

ответ

4

Вы можете просмотреть html-код, сгенерированный в браузере, а затем просто удалить его через jquery, например. empty()

Чтобы найти сгенерированный код:

  • Normal постбэк: просмотр страницы «исходный код» в браузере и посмотрите на сообщение об ошибке. Найдите родительский div, чтобы его удалить.
  • Ajax call: щелкните правой кнопкой мыши и проверьте элементы в Chrome (другие современные браузеры называют это по-другому, но они должны иметь инструмент). Это даст вам html, сгенерированный в текущем состоянии (после вызова ajax). Найдите родительский div и запустите его.

Надеется, что это помогает

0

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

Когда я хочу сбросить все значения, я обычно маскирую гиперссылку в качестве кнопки сброса. Когда кто-то нажимает на него, он просто выполняет новый запрос GET для формы. Поскольку действие контроллера для запроса GET возвращает новую пустую модель, он имеет тот же эффект, что и кнопка «clear».

+0

Да, это может быть самым простым способом, но мне все равно интересно узнать, есть ли способ сделать это на стороне клиента. – sipwiz

+0

Возможно, я должен был прочитать ваш заголовок «с помощью jQuery». – danludwig

1

Простой и многоразовая функция JQuery вы можете позвонить на любом объекте JQuery:

$.fn.clearErrors = function() { 
    $(this).each(function() { 
     $(this).find(".field-validation-error").empty(); 
     $(this).trigger('reset.unobtrusiveValidation'); 
    }); 
}; 

Использование:

question.clearErrors(); 

Оригинального ответ: https://stackoverflow.com/a/16165831/114029

1
$('.field-validation-error').text("") 
+2

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

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