ASP.NET MVC2 - подключиться к проверке на стороне клиента
Я хочу вызвать некоторый пользовательский код, когда ошибки на стороне клиента обновляются с помощью проверки на стороне клиента ASP.NET MVC2. Я отследил эту функцию, к которой я хочу подключиться:
Sys.Mvc.FormContext.prototype = {
// ...
_displayError: function Sys_Mvc_FormContext$_displayError() {
if (this._validationSummaryElement) {
if (this._validationSummaryULElement) {
Sys.Mvc._validationUtil.removeAllChildren(this._validationSummaryULElement);
for (var i = 0; i < this._errors.length; i++) {
var liElement = document.createElement('li');
Sys.Mvc._validationUtil.setInnerText(liElement, this._errors[i]);
this._validationSummaryULElement.appendChild(liElement);
}
}
Sys.UI.DomElement.removeCssClass(this._validationSummaryElement, Sys.Mvc.FormContext._validationSummaryValidCss);
Sys.UI.DomElement.addCssClass(this._validationSummaryElement, Sys.Mvc.FormContext._validationSummaryErrorCss);
}
},
// ...
}
Как я могу переопределить эту функцию, чтобы мой код мог
- вызвать оригинальную функцию
- тогда сделай другую работу
1 ответ
Решение
Нашел это.
<script type="text/javascript">
$(function () {
var old_displayError = Sys.Mvc.FormContext.prototype._displayError;
Sys.Mvc.FormContext.prototype._displayError = function () {
old_displayError.apply(this);
// do other stuff here
}
});
</script>
Я не привык переопределять функции прототипа, поэтому я был немного озадачен.