Skip to content

Commit c3af8d0

Browse files
committed
🐛 fallback for closest
1 parent 7b772a3 commit c3af8d0

File tree

1 file changed

+15
-8
lines changed

1 file changed

+15
-8
lines changed

lib/form/js/validation.js

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,22 +18,29 @@
1818
var target = e.target,
1919
value = target.value,
2020
inp = allInputs[target.id],
21-
parent = target,
21+
parent,
2222
input = {},
2323
settings = {},
2424
validation = false,
25+
currentMessage,
2526
message,
26-
currentMessage = parent.querySelector('[role="alert"][for="' + target.id + '"]'),
2727
insertRef;
2828

29-
while (parent.className.indexOf('form--repeatable') === -1 &&
30-
parent.className.indexOf('form--field') === -1 &&
31-
parent.className.indexOf('form--fieldset') === -1) {
32-
parent = parent.parentNode;
33-
if (parent === undefined) {
34-
return;
29+
if (typeof target.closest === 'function') {
30+
parent = target.closest('.form--repeatable, .form--field, .form--fieldset');
31+
}
32+
else {
33+
parent = target;
34+
while (!parent.classList.contains('form--repeatable') &&
35+
!parent.classList.contains('form--field') &&
36+
!parent.classList.contains('form--fieldset')) {
37+
parent = parent.parentNode;
38+
if (parent === undefined) {
39+
return;
40+
}
3541
}
3642
}
43+
currentMessage = parent.querySelector('[role="alert"][for="' + target.id + '"]');
3744

3845
// Set up validation input
3946
input.target = {

0 commit comments

Comments
 (0)