@@ -12,21 +12,12 @@ define([
12
12
'use strict' ;
13
13
14
14
return function ( config , element ) {
15
+
15
16
var $element = $ ( element ) ,
16
17
initialValue = $element . val ( ) ,
17
18
duoProviderValue = config . duoProviderValue ,
18
19
duoFields = config . duoFields ;
19
20
20
- $element . on ( 'change' , function ( ) {
21
- var selectedValues = $element . val ( ) || [ ] ;
22
-
23
- if ( selectedValues . includes ( duoProviderValue ) ) {
24
- addRequiredAttributes ( duoFields ) ;
25
- } else {
26
- removeRequiredAttributes ( duoFields ) ;
27
- }
28
- } ) ;
29
-
30
21
/**
31
22
* Adds the "required" attribute to each Duo field
32
23
*
@@ -35,6 +26,7 @@ define([
35
26
function addRequiredAttributes ( fields ) {
36
27
fields . forEach ( function ( fieldId ) {
37
28
var $field = $ ( '#' + fieldId ) ;
29
+
38
30
if ( $field . length ) {
39
31
$field . attr ( 'required' , 'required' ) ;
40
32
$field . addClass ( 'required-entry' ) ;
@@ -50,13 +42,24 @@ define([
50
42
function removeRequiredAttributes ( fields ) {
51
43
fields . forEach ( function ( fieldId ) {
52
44
var $field = $ ( '#' + fieldId ) ;
45
+
53
46
if ( $field . length ) {
54
47
$field . removeAttr ( 'required' ) ;
55
48
$field . removeClass ( 'required-entry' ) ;
56
49
}
57
50
} ) ;
58
51
}
59
52
53
+ $element . on ( 'change' , function ( ) {
54
+ var selectedValues = $element . val ( ) || [ ] ;
55
+
56
+ if ( selectedValues . includes ( duoProviderValue ) ) {
57
+ addRequiredAttributes ( duoFields ) ;
58
+ } else {
59
+ removeRequiredAttributes ( duoFields ) ;
60
+ }
61
+ } ) ;
62
+
60
63
element . on ( 'blur' , function ( ) {
61
64
var currentValue = $element . val ( ) ;
62
65
0 commit comments