summaryrefslogtreecommitdiffstats
path: root/samples/TestAzureAD/Scripts/WebForms/WebUIValidation.js
diff options
context:
space:
mode:
Diffstat (limited to 'samples/TestAzureAD/Scripts/WebForms/WebUIValidation.js')
-rw-r--r--samples/TestAzureAD/Scripts/WebForms/WebUIValidation.js684
1 files changed, 684 insertions, 0 deletions
diff --git a/samples/TestAzureAD/Scripts/WebForms/WebUIValidation.js b/samples/TestAzureAD/Scripts/WebForms/WebUIValidation.js
new file mode 100644
index 0000000..a160ee8
--- /dev/null
+++ b/samples/TestAzureAD/Scripts/WebForms/WebUIValidation.js
@@ -0,0 +1,684 @@
+//CdnPath=http://ajax.aspnetcdn.com/ajax/4.5/6/WebUIValidation.js
+var Page_ValidationVer = "125";
+var Page_IsValid = true;
+var Page_BlockSubmit = false;
+var Page_InvalidControlToBeFocused = null;
+var Page_TextTypes = /^(text|password|file|search|tel|url|email|number|range|color|datetime|date|month|week|time|datetime-local)$/i;
+function ValidatorUpdateDisplay(val) {
+ if (typeof(val.display) == "string") {
+ if (val.display == "None") {
+ return;
+ }
+ if (val.display == "Dynamic") {
+ val.style.display = val.isvalid ? "none" : "inline";
+ return;
+ }
+ }
+ if ((navigator.userAgent.indexOf("Mac") > -1) &&
+ (navigator.userAgent.indexOf("MSIE") > -1)) {
+ val.style.display = "inline";
+ }
+ val.style.visibility = val.isvalid ? "hidden" : "visible";
+}
+function ValidatorUpdateIsValid() {
+ Page_IsValid = AllValidatorsValid(Page_Validators);
+}
+function AllValidatorsValid(validators) {
+ if ((typeof(validators) != "undefined") && (validators != null)) {
+ var i;
+ for (i = 0; i < validators.length; i++) {
+ if (!validators[i].isvalid) {
+ return false;
+ }
+ }
+ }
+ return true;
+}
+function ValidatorHookupControlID(controlID, val) {
+ if (typeof(controlID) != "string") {
+ return;
+ }
+ var ctrl = document.getElementById(controlID);
+ if ((typeof(ctrl) != "undefined") && (ctrl != null)) {
+ ValidatorHookupControl(ctrl, val);
+ }
+ else {
+ val.isvalid = true;
+ val.enabled = false;
+ }
+}
+function ValidatorHookupControl(control, val) {
+ if (typeof(control.tagName) != "string") {
+ return;
+ }
+ if (control.tagName != "INPUT" && control.tagName != "TEXTAREA" && control.tagName != "SELECT") {
+ var i;
+ for (i = 0; i < control.childNodes.length; i++) {
+ ValidatorHookupControl(control.childNodes[i], val);
+ }
+ return;
+ }
+ else {
+ if (typeof(control.Validators) == "undefined") {
+ control.Validators = new Array;
+ var eventType;
+ if (control.type == "radio") {
+ eventType = "onclick";
+ } else {
+ eventType = "onchange";
+ if (typeof(val.focusOnError) == "string" && val.focusOnError == "t") {
+ ValidatorHookupEvent(control, "onblur", "ValidatedControlOnBlur(event); ");
+ }
+ }
+ ValidatorHookupEvent(control, eventType, "ValidatorOnChange(event); ");
+ if (Page_TextTypes.test(control.type)) {
+ ValidatorHookupEvent(control, "onkeypress",
+ "event = event || window.event; if (!ValidatedTextBoxOnKeyPress(event)) { event.cancelBubble = true; if (event.stopPropagation) event.stopPropagation(); return false; } ");
+ }
+ }
+ control.Validators[control.Validators.length] = val;
+ }
+}
+function ValidatorHookupEvent(control, eventType, functionPrefix) {
+ var ev = control[eventType];
+ if (typeof(ev) == "function") {
+ ev = ev.toString();
+ ev = ev.substring(ev.indexOf("{") + 1, ev.lastIndexOf("}"));
+ }
+ else {
+ ev = "";
+ }
+ control[eventType] = new Function("event", functionPrefix + " " + ev);
+}
+function ValidatorGetValue(id) {
+ var control;
+ control = document.getElementById(id);
+ if (typeof(control.value) == "string") {
+ return control.value;
+ }
+ return ValidatorGetValueRecursive(control);
+}
+function ValidatorGetValueRecursive(control)
+{
+ if (typeof(control.value) == "string" && (control.type != "radio" || control.checked == true)) {
+ return control.value;
+ }
+ var i, val;
+ for (i = 0; i<control.childNodes.length; i++) {
+ val = ValidatorGetValueRecursive(control.childNodes[i]);
+ if (val != "") return val;
+ }
+ return "";
+}
+function Page_ClientValidate(validationGroup) {
+ Page_InvalidControlToBeFocused = null;
+ if (typeof(Page_Validators) == "undefined") {
+ return true;
+ }
+ var i;
+ for (i = 0; i < Page_Validators.length; i++) {
+ ValidatorValidate(Page_Validators[i], validationGroup, null);
+ }
+ ValidatorUpdateIsValid();
+ ValidationSummaryOnSubmit(validationGroup);
+ Page_BlockSubmit = !Page_IsValid;
+ return Page_IsValid;
+}
+function ValidatorCommonOnSubmit() {
+ Page_InvalidControlToBeFocused = null;
+ var result = !Page_BlockSubmit;
+ if ((typeof(window.event) != "undefined") && (window.event != null)) {
+ window.event.returnValue = result;
+ }
+ Page_BlockSubmit = false;
+ return result;
+}
+function ValidatorEnable(val, enable) {
+ val.enabled = (enable != false);
+ ValidatorValidate(val);
+ ValidatorUpdateIsValid();
+}
+function ValidatorOnChange(event) {
+ event = event || window.event;
+ Page_InvalidControlToBeFocused = null;
+ var targetedControl;
+ if ((typeof(event.srcElement) != "undefined") && (event.srcElement != null)) {
+ targetedControl = event.srcElement;
+ }
+ else {
+ targetedControl = event.target;
+ }
+ var vals;
+ if (typeof(targetedControl.Validators) != "undefined") {
+ vals = targetedControl.Validators;
+ }
+ else {
+ if (targetedControl.tagName.toLowerCase() == "label") {
+ targetedControl = document.getElementById(targetedControl.htmlFor);
+ vals = targetedControl.Validators;
+ }
+ }
+ if (vals) {
+ for (var i = 0; i < vals.length; i++) {
+ ValidatorValidate(vals[i], null, event);
+ }
+ }
+ ValidatorUpdateIsValid();
+}
+function ValidatedTextBoxOnKeyPress(event) {
+ event = event || window.event;
+ if (event.keyCode == 13) {
+ ValidatorOnChange(event);
+ var vals;
+ if ((typeof(event.srcElement) != "undefined") && (event.srcElement != null)) {
+ vals = event.srcElement.Validators;
+ }
+ else {
+ vals = event.target.Validators;
+ }
+ return AllValidatorsValid(vals);
+ }
+ return true;
+}
+function ValidatedControlOnBlur(event) {
+ event = event || window.event;
+ var control;
+ if ((typeof(event.srcElement) != "undefined") && (event.srcElement != null)) {
+ control = event.srcElement;
+ }
+ else {
+ control = event.target;
+ }
+ if ((typeof(control) != "undefined") && (control != null) && (Page_InvalidControlToBeFocused == control)) {
+ control.focus();
+ Page_InvalidControlToBeFocused = null;
+ }
+}
+function ValidatorValidate(val, validationGroup, event) {
+ val.isvalid = true;
+ if ((typeof(val.enabled) == "undefined" || val.enabled != false) && IsValidationGroupMatch(val, validationGroup)) {
+ if (typeof(val.evaluationfunction) == "function") {
+ val.isvalid = val.evaluationfunction(val);
+ if (!val.isvalid && Page_InvalidControlToBeFocused == null &&
+ typeof(val.focusOnError) == "string" && val.focusOnError == "t") {
+ ValidatorSetFocus(val, event);
+ }
+ }
+ }
+ ValidatorUpdateDisplay(val);
+}
+function ValidatorSetFocus(val, event) {
+ var ctrl;
+ if (typeof(val.controlhookup) == "string") {
+ var eventCtrl;
+ if ((typeof(event) != "undefined") && (event != null)) {
+ if ((typeof(event.srcElement) != "undefined") && (event.srcElement != null)) {
+ eventCtrl = event.srcElement;
+ }
+ else {
+ eventCtrl = event.target;
+ }
+ }
+ if ((typeof(eventCtrl) != "undefined") && (eventCtrl != null) &&
+ (typeof(eventCtrl.id) == "string") &&
+ (eventCtrl.id == val.controlhookup)) {
+ ctrl = eventCtrl;
+ }
+ }
+ if ((typeof(ctrl) == "undefined") || (ctrl == null)) {
+ ctrl = document.getElementById(val.controltovalidate);
+ }
+ if ((typeof(ctrl) != "undefined") && (ctrl != null) &&
+ (ctrl.tagName.toLowerCase() != "table" || (typeof(event) == "undefined") || (event == null)) &&
+ ((ctrl.tagName.toLowerCase() != "input") || (ctrl.type.toLowerCase() != "hidden")) &&
+ (typeof(ctrl.disabled) == "undefined" || ctrl.disabled == null || ctrl.disabled == false) &&
+ (typeof(ctrl.visible) == "undefined" || ctrl.visible == null || ctrl.visible != false) &&
+ (IsInVisibleContainer(ctrl))) {
+ if ((ctrl.tagName.toLowerCase() == "table" && (typeof(__nonMSDOMBrowser) == "undefined" || __nonMSDOMBrowser)) ||
+ (ctrl.tagName.toLowerCase() == "span")) {
+ var inputElements = ctrl.getElementsByTagName("input");
+ var lastInputElement = inputElements[inputElements.length -1];
+ if (lastInputElement != null) {
+ ctrl = lastInputElement;
+ }
+ }
+ if (typeof(ctrl.focus) != "undefined" && ctrl.focus != null) {
+ ctrl.focus();
+ Page_InvalidControlToBeFocused = ctrl;
+ }
+ }
+}
+function IsInVisibleContainer(ctrl) {
+ if (typeof(ctrl.style) != "undefined" &&
+ ( ( typeof(ctrl.style.display) != "undefined" &&
+ ctrl.style.display == "none") ||
+ ( typeof(ctrl.style.visibility) != "undefined" &&
+ ctrl.style.visibility == "hidden") ) ) {
+ return false;
+ }
+ else if (typeof(ctrl.parentNode) != "undefined" &&
+ ctrl.parentNode != null &&
+ ctrl.parentNode != ctrl) {
+ return IsInVisibleContainer(ctrl.parentNode);
+ }
+ return true;
+}
+function IsValidationGroupMatch(control, validationGroup) {
+ if ((typeof(validationGroup) == "undefined") || (validationGroup == null)) {
+ return true;
+ }
+ var controlGroup = "";
+ if (typeof(control.validationGroup) == "string") {
+ controlGroup = control.validationGroup;
+ }
+ return (controlGroup == validationGroup);
+}
+function ValidatorOnLoad() {
+ if (typeof(Page_Validators) == "undefined")
+ return;
+ var i, val;
+ for (i = 0; i < Page_Validators.length; i++) {
+ val = Page_Validators[i];
+ if (typeof(val.evaluationfunction) == "string") {
+ eval("val.evaluationfunction = " + val.evaluationfunction + ";");
+ }
+ if (typeof(val.isvalid) == "string") {
+ if (val.isvalid == "False") {
+ val.isvalid = false;
+ Page_IsValid = false;
+ }
+ else {
+ val.isvalid = true;
+ }
+ } else {
+ val.isvalid = true;
+ }
+ if (typeof(val.enabled) == "string") {
+ val.enabled = (val.enabled != "False");
+ }
+ if (typeof(val.controltovalidate) == "string") {
+ ValidatorHookupControlID(val.controltovalidate, val);
+ }
+ if (typeof(val.controlhookup) == "string") {
+ ValidatorHookupControlID(val.controlhookup, val);
+ }
+ }
+ Page_ValidationActive = true;
+}
+function ValidatorConvert(op, dataType, val) {
+ function GetFullYear(year) {
+ var twoDigitCutoffYear = val.cutoffyear % 100;
+ var cutoffYearCentury = val.cutoffyear - twoDigitCutoffYear;
+ return ((year > twoDigitCutoffYear) ? (cutoffYearCentury - 100 + year) : (cutoffYearCentury + year));
+ }
+ var num, cleanInput, m, exp;
+ if (dataType == "Integer") {
+ exp = /^\s*[-\+]?\d+\s*$/;
+ if (op.match(exp) == null)
+ return null;
+ num = parseInt(op, 10);
+ return (isNaN(num) ? null : num);
+ }
+ else if(dataType == "Double") {
+ exp = new RegExp("^\\s*([-\\+])?(\\d*)\\" + val.decimalchar + "?(\\d*)\\s*$");
+ m = op.match(exp);
+ if (m == null)
+ return null;
+ if (m[2].length == 0 && m[3].length == 0)
+ return null;
+ cleanInput = (m[1] != null ? m[1] : "") + (m[2].length>0 ? m[2] : "0") + (m[3].length>0 ? "." + m[3] : "");
+ num = parseFloat(cleanInput);
+ return (isNaN(num) ? null : num);
+ }
+ else if (dataType == "Currency") {
+ var hasDigits = (val.digits > 0);
+ var beginGroupSize, subsequentGroupSize;
+ var groupSizeNum = parseInt(val.groupsize, 10);
+ if (!isNaN(groupSizeNum) && groupSizeNum > 0) {
+ beginGroupSize = "{1," + groupSizeNum + "}";
+ subsequentGroupSize = "{" + groupSizeNum + "}";
+ }
+ else {
+ beginGroupSize = subsequentGroupSize = "+";
+ }
+ exp = new RegExp("^\\s*([-\\+])?((\\d" + beginGroupSize + "(\\" + val.groupchar + "\\d" + subsequentGroupSize + ")+)|\\d*)"
+ + (hasDigits ? "\\" + val.decimalchar + "?(\\d{0," + val.digits + "})" : "")
+ + "\\s*$");
+ m = op.match(exp);
+ if (m == null)
+ return null;
+ if (m[2].length == 0 && hasDigits && m[5].length == 0)
+ return null;
+ cleanInput = (m[1] != null ? m[1] : "") + m[2].replace(new RegExp("(\\" + val.groupchar + ")", "g"), "") + ((hasDigits && m[5].length > 0) ? "." + m[5] : "");
+ num = parseFloat(cleanInput);
+ return (isNaN(num) ? null : num);
+ }
+ else if (dataType == "Date") {
+ var yearFirstExp = new RegExp("^\\s*((\\d{4})|(\\d{2}))([-/]|\\. ?)(\\d{1,2})\\4(\\d{1,2})\\.?\\s*$");
+ m = op.match(yearFirstExp);
+ var day, month, year;
+ if (m != null && (((typeof(m[2]) != "undefined") && (m[2].length == 4)) || val.dateorder == "ymd")) {
+ day = m[6];
+ month = m[5];
+ year = (m[2].length == 4) ? m[2] : GetFullYear(parseInt(m[3], 10));
+ }
+ else {
+ if (val.dateorder == "ymd"){
+ return null;
+ }
+ var yearLastExp = new RegExp("^\\s*(\\d{1,2})([-/]|\\. ?)(\\d{1,2})(?:\\s|\\2)((\\d{4})|(\\d{2}))(?:\\s\u0433\\.|\\.)?\\s*$");
+ m = op.match(yearLastExp);
+ if (m == null) {
+ return null;
+ }
+ if (val.dateorder == "mdy") {
+ day = m[3];
+ month = m[1];
+ }
+ else {
+ day = m[1];
+ month = m[3];
+ }
+ year = ((typeof(m[5]) != "undefined") && (m[5].length == 4)) ? m[5] : GetFullYear(parseInt(m[6], 10));
+ }
+ month -= 1;
+ var date = new Date(year, month, day);
+ if (year < 100) {
+ date.setFullYear(year);
+ }
+ return (typeof(date) == "object" && year == date.getFullYear() && month == date.getMonth() && day == date.getDate()) ? date.valueOf() : null;
+ }
+ else {
+ return op.toString();
+ }
+}
+function ValidatorCompare(operand1, operand2, operator, val) {
+ var dataType = val.type;
+ var op1, op2;
+ if ((op1 = ValidatorConvert(operand1, dataType, val)) == null)
+ return false;
+ if (operator == "DataTypeCheck")
+ return true;
+ if ((op2 = ValidatorConvert(operand2, dataType, val)) == null)
+ return true;
+ switch (operator) {
+ case "NotEqual":
+ return (op1 != op2);
+ case "GreaterThan":
+ return (op1 > op2);
+ case "GreaterThanEqual":
+ return (op1 >= op2);
+ case "LessThan":
+ return (op1 < op2);
+ case "LessThanEqual":
+ return (op1 <= op2);
+ default:
+ return (op1 == op2);
+ }
+}
+function CompareValidatorEvaluateIsValid(val) {
+ var value = ValidatorGetValue(val.controltovalidate);
+ if (ValidatorTrim(value).length == 0)
+ return true;
+ var compareTo = "";
+ if ((typeof(val.controltocompare) != "string") ||
+ (typeof(document.getElementById(val.controltocompare)) == "undefined") ||
+ (null == document.getElementById(val.controltocompare))) {
+ if (typeof(val.valuetocompare) == "string") {
+ compareTo = val.valuetocompare;
+ }
+ }
+ else {
+ compareTo = ValidatorGetValue(val.controltocompare);
+ }
+ var operator = "Equal";
+ if (typeof(val.operator) == "string") {
+ operator = val.operator;
+ }
+ return ValidatorCompare(value, compareTo, operator, val);
+}
+function CustomValidatorEvaluateIsValid(val) {
+ var value = "";
+ if (typeof(val.controltovalidate) == "string") {
+ value = ValidatorGetValue(val.controltovalidate);
+ if ((ValidatorTrim(value).length == 0) &&
+ ((typeof(val.validateemptytext) != "string") || (val.validateemptytext != "true"))) {
+ return true;
+ }
+ }
+ var args = { Value:value, IsValid:true };
+ if (typeof(val.clientvalidationfunction) == "string") {
+ eval(val.clientvalidationfunction + "(val, args) ;");
+ }
+ return args.IsValid;
+}
+function RegularExpressionValidatorEvaluateIsValid(val) {
+ var value = ValidatorGetValue(val.controltovalidate);
+ if (ValidatorTrim(value).length == 0)
+ return true;
+ var rx = new RegExp(val.validationexpression);
+ var matches = rx.exec(value);
+ return (matches != null && value == matches[0]);
+}
+function ValidatorTrim(s) {
+ var m = s.match(/^\s*(\S+(\s+\S+)*)\s*$/);
+ return (m == null) ? "" : m[1];
+}
+function RequiredFieldValidatorEvaluateIsValid(val) {
+ return (ValidatorTrim(ValidatorGetValue(val.controltovalidate)) != ValidatorTrim(val.initialvalue))
+}
+function RangeValidatorEvaluateIsValid(val) {
+ var value = ValidatorGetValue(val.controltovalidate);
+ if (ValidatorTrim(value).length == 0)
+ return true;
+ return (ValidatorCompare(value, val.minimumvalue, "GreaterThanEqual", val) &&
+ ValidatorCompare(value, val.maximumvalue, "LessThanEqual", val));
+}
+function ValidationSummaryOnSubmit(validationGroup) {
+ if (typeof(Page_ValidationSummaries) == "undefined")
+ return;
+ var summary, sums, s;
+ var headerSep, first, pre, post, end;
+ for (sums = 0; sums < Page_ValidationSummaries.length; sums++) {
+ summary = Page_ValidationSummaries[sums];
+ if (!summary) continue;
+ summary.style.display = "none";
+ if (!Page_IsValid && IsValidationGroupMatch(summary, validationGroup)) {
+ var i;
+ if (summary.showsummary != "False") {
+ summary.style.display = "";
+ if (typeof(summary.displaymode) != "string") {
+ summary.displaymode = "BulletList";
+ }
+ switch (summary.displaymode) {
+ case "List":
+ headerSep = "<br>";
+ first = "";
+ pre = "";
+ post = "<br>";
+ end = "";
+ break;
+ case "BulletList":
+ default:
+ headerSep = "";
+ first = "<ul>";
+ pre = "<li>";
+ post = "</li>";
+ end = "</ul>";
+ break;
+ case "SingleParagraph":
+ headerSep = " ";
+ first = "";
+ pre = "";
+ post = " ";
+ end = "<br>";
+ break;
+ }
+ s = "";
+ if (typeof(summary.headertext) == "string") {
+ s += summary.headertext + headerSep;
+ }
+ s += first;
+ for (i=0; i<Page_Validators.length; i++) {
+ if (!Page_Validators[i].isvalid && typeof(Page_Validators[i].errormessage) == "string") {
+ s += pre + Page_Validators[i].errormessage + post;
+ }
+ }
+ s += end;
+ summary.innerHTML = s;
+ window.scrollTo(0,0);
+ }
+ if (summary.showmessagebox == "True") {
+ s = "";
+ if (typeof(summary.headertext) == "string") {
+ s += summary.headertext + "\r\n";
+ }
+ var lastValIndex = Page_Validators.length - 1;
+ for (i=0; i<=lastValIndex; i++) {
+ if (!Page_Validators[i].isvalid && typeof(Page_Validators[i].errormessage) == "string") {
+ switch (summary.displaymode) {
+ case "List":
+ s += Page_Validators[i].errormessage;
+ if (i < lastValIndex) {
+ s += "\r\n";
+ }
+ break;
+ case "BulletList":
+ default:
+ s += "- " + Page_Validators[i].errormessage;
+ if (i < lastValIndex) {
+ s += "\r\n";
+ }
+ break;
+ case "SingleParagraph":
+ s += Page_Validators[i].errormessage + " ";
+ break;
+ }
+ }
+ }
+ alert(s);
+ }
+ }
+ }
+}
+if (window.jQuery) {
+ (function ($) {
+ var dataValidationAttribute = "data-val",
+ dataValidationSummaryAttribute = "data-valsummary",
+ normalizedAttributes = { validationgroup: "validationGroup", focusonerror: "focusOnError" };
+ function getAttributesWithPrefix(element, prefix) {
+ var i,
+ attribute,
+ list = {},
+ attributes = element.attributes,
+ length = attributes.length,
+ prefixLength = prefix.length;
+ prefix = prefix.toLowerCase();
+ for (i = 0; i < length; i++) {
+ attribute = attributes[i];
+ if (attribute.specified && attribute.name.substr(0, prefixLength).toLowerCase() === prefix) {
+ list[attribute.name.substr(prefixLength)] = attribute.value;
+ }
+ }
+ return list;
+ }
+ function normalizeKey(key) {
+ key = key.toLowerCase();
+ return normalizedAttributes[key] === undefined ? key : normalizedAttributes[key];
+ }
+ function addValidationExpando(element) {
+ var attributes = getAttributesWithPrefix(element, dataValidationAttribute + "-");
+ $.each(attributes, function (key, value) {
+ element[normalizeKey(key)] = value;
+ });
+ }
+ function dispose(element) {
+ var index = $.inArray(element, Page_Validators);
+ if (index >= 0) {
+ Page_Validators.splice(index, 1);
+ }
+ }
+ function addNormalizedAttribute(name, normalizedName) {
+ normalizedAttributes[name.toLowerCase()] = normalizedName;
+ }
+ function parseSpecificAttribute(selector, attribute, validatorsArray) {
+ return $(selector).find("[" + attribute + "='true']").each(function (index, element) {
+ addValidationExpando(element);
+ element.dispose = function () { dispose(element); element.dispose = null; };
+ if ($.inArray(element, validatorsArray) === -1) {
+ validatorsArray.push(element);
+ }
+ }).length;
+ }
+ function parse(selector) {
+ var length = parseSpecificAttribute(selector, dataValidationAttribute, Page_Validators);
+ length += parseSpecificAttribute(selector, dataValidationSummaryAttribute, Page_ValidationSummaries);
+ return length;
+ }
+ function loadValidators() {
+ if (typeof (ValidatorOnLoad) === "function") {
+ ValidatorOnLoad();
+ }
+ if (typeof (ValidatorOnSubmit) === "undefined") {
+ window.ValidatorOnSubmit = function () {
+ return Page_ValidationActive ? ValidatorCommonOnSubmit() : true;
+ };
+ }
+ }
+ function registerUpdatePanel() {
+ if (window.Sys && Sys.WebForms && Sys.WebForms.PageRequestManager) {
+ var prm = Sys.WebForms.PageRequestManager.getInstance(),
+ postBackElement, endRequestHandler;
+ if (prm.get_isInAsyncPostBack()) {
+ endRequestHandler = function (sender, args) {
+ if (parse(document)) {
+ loadValidators();
+ }
+ prm.remove_endRequest(endRequestHandler);
+ endRequestHandler = null;
+ };
+ prm.add_endRequest(endRequestHandler);
+ }
+ prm.add_beginRequest(function (sender, args) {
+ postBackElement = args.get_postBackElement();
+ });
+ prm.add_pageLoaded(function (sender, args) {
+ var i, panels, valFound = 0;
+ if (typeof (postBackElement) === "undefined") {
+ return;
+ }
+ panels = args.get_panelsUpdated();
+ for (i = 0; i < panels.length; i++) {
+ valFound += parse(panels[i]);
+ }
+ panels = args.get_panelsCreated();
+ for (i = 0; i < panels.length; i++) {
+ valFound += parse(panels[i]);
+ }
+ if (valFound) {
+ loadValidators();
+ }
+ });
+ }
+ }
+ $(function () {
+ if (typeof (Page_Validators) === "undefined") {
+ window.Page_Validators = [];
+ }
+ if (typeof (Page_ValidationSummaries) === "undefined") {
+ window.Page_ValidationSummaries = [];
+ }
+ if (typeof (Page_ValidationActive) === "undefined") {
+ window.Page_ValidationActive = false;
+ }
+ $.WebFormValidator = {
+ addNormalizedAttribute: addNormalizedAttribute,
+ parse: parse
+ };
+ if (parse(document)) {
+ loadValidators();
+ }
+ registerUpdatePanel();
+ });
+ } (jQuery));
+} \ No newline at end of file