Skip to content

Commit f6cfe08

Browse files
committed
ACP2E-3710: move validator extension to mage/validation.
1 parent 7ac9239 commit f6cfe08

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

lib/web/mage/validation.js

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,23 @@ define([
1515

1616
var creditCartTypes, rules, showLabel, originValidateDelegate;
1717

18+
if ($.validator) {
19+
let originalErrorsFor = $.validator.prototype.errorsFor;
20+
21+
$.validator.prototype.errorsFor = function (element) {
22+
let name = this.escapeCssMeta(this.idOrName(element)),
23+
describer = $(element).attr('aria-describedby'),
24+
selector = `label[for='${name}'], label[for='${name}'] *`;
25+
26+
// 'aria-describedby' should directly reference the error element
27+
if (describer) {
28+
selector += `, #${this.escapeCssMeta(describer).replace(/\s+/g, ', #')}`;
29+
selector += ':visible';
30+
}
31+
return originalErrorsFor.call(this, element).add(this.errors().filter(selector));
32+
};
33+
}
34+
1835
$.extend(true, $, {
1936
// @TODO: Move methods 'isEmpty', 'isEmptyNoTrim', 'parseNumber', 'stripHtml' in file with utility functions
2037
mage: {

0 commit comments

Comments
 (0)