Получить событие от валидаторов asp.net в jquery при изменении статуса - PullRequest
2 голосов
/ 15 июля 2010

Я хотел бы, чтобы событие запускалось в jquery, если валидаторы моей страницы меняют свои состояния.

Это мой случай использования:

  1. В форме адреса все валидаторы скрыты.
  2. Если я отправлю форму, отобразится.
  3. Теперь я хочу запустить функцию jQuery, которая отображает все строки (не поля ввода, но их родители) с красной рамкой (означает добавить класс CSS)
  4. если я теперь изменяю поле и валидатор скрывает, я также хочу скрыть границу вокруг родительского элемента ввода

Я не хочу, чтобы каждые 100 мс проверялись таймеры отображаемых валидаторов (что будет работать идеально), но я хочу слушать только события шоу / скрытия валидаторов

есть идеи, как мне добавить слушателя к событиям изменения валидатора?

С уважением Christoph

Ответы [ 3 ]

1 голос
/ 15 июля 2010

Вот как вы можете вызывать валидаторы .NET из JavaScript:
Вызов ASP.NET Validation вручную с помощью JavaScript

Вы можете интегрировать вышеописанное с событиями jQuery или Валидация jQuery .

ПРИМЕЧАНИЕ. Это решение, если вы привязаны к валидаторам .NET, в противном случае просто используйте валидацию jQuery, как упоминал Дейв.

0 голосов
/ 28 марта 2013

Извините за ответ на этот старый вопрос, но я сделал сообщение в блоге о изменении функции оценки javacscript по умолчанию для валидаторов ASP.NET . В основном это сводится к этому:

for (var i = 0; i < window.Page_Validators.length; i++) {
    // Create a new property and assign the original evaluation function to it
    window.Page_Validators[i].baseEvaluationFunction = window.Page_Validators[i].evaluationfunction;

    // Set our own validation function
    window.Page_Validators[i].evaluationfunction = evaluateField;
}

Затем, в функции'ifyField ', напишите код для установки css.

function evaluateField (validator) {
    // Run the original validation function
    var isvalid = validator.baseEvaluationFunction(validator);

    // Handle the result
    if (isvalid) {
        clearError(validator);
    } else {
        setError(validator);
    }

    // Return result
    return isvalid;
}

В функциях setError и clearError вы можете использовать jquery для поиска родительской строки и применения к ней css. Надеюсь, это поможет!

0 голосов
/ 15 июля 2010

Вы смотрели на стандартный плагин проверки jQuery ? Я почти уверен, что в его валидаторах есть события, которые вы можете подключить так, как вы описываете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...