Skip to content

Commit da2638d

Browse files
authored
fix: align dependent element logic with server-side behaviour (#1062)
1 parent bb22ab4 commit da2638d

File tree

1 file changed

+17
-14
lines changed

1 file changed

+17
-14
lines changed

resources/assets/js/helpers.js

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -348,28 +348,31 @@ $.extend(true, laravelValidation, {
348348
* @returns {*}
349349
*/
350350
dependentElement: function(validator, element, name) {
351-
352-
var el=validator.findByName(name);
353-
354-
if ( el[0]!==undefined && validator.settings.onfocusout ) {
351+
var el = validator.findByName(name);
352+
353+
var targetElement = el[el.length - 1];
354+
355+
if (targetElement !== undefined && validator.settings.onfocusout) {
355356
var event = 'blur';
356-
if (el[0].tagName === 'SELECT' ||
357-
el[0].tagName === 'OPTION' ||
358-
el[0].type === 'checkbox' ||
359-
el[0].type === 'radio'
357+
if (
358+
targetElement.tagName === 'SELECT' ||
359+
targetElement.tagName === 'OPTION' ||
360+
targetElement.type === 'checkbox' ||
361+
targetElement.type === 'radio'
360362
) {
361363
event = 'click';
362364
}
363-
365+
364366
var ruleName = '.validate-laravelValidation';
365-
el.off( ruleName )
367+
$(targetElement)
368+
.off(ruleName)
366369
.off(event + ruleName + '-' + element.name)
367-
.on( event + ruleName + '-' + element.name, function() {
368-
$( element ).valid();
370+
.on(event + ruleName + '-' + element.name, function () {
371+
$(element).valid();
369372
});
370373
}
371-
372-
return el[0];
374+
375+
return targetElement;
373376
},
374377

375378
/**

0 commit comments

Comments
 (0)