@@ -19,13 +19,23 @@ provides: [Form.Validator.Extras]
19
19
20
20
...
21
21
*/
22
+
23
+ ( function ( ) {
24
+
25
+ function getItems ( props , preference , children , cssSelector ) {
26
+ if ( preference && props [ preference ] ) return props [ preference ] ;
27
+ var el = document . id ( props [ children ] ) ;
28
+ if ( ! el ) return [ ] ;
29
+ return el . getElements ( cssSelector )
30
+ }
31
+
22
32
Form . Validator . addAllThese ( [
23
33
24
34
[ 'validate-enforce-oncheck' , {
25
35
test : function ( element , props ) {
26
36
var fv = element . getParent ( 'form' ) . retrieve ( 'validator' ) ;
27
37
if ( ! fv ) return true ;
28
- ( props . toEnforce || document . id ( props . enforceChildrenOf ) . getElements ( ' input, select, textarea') ) . map ( function ( item ) {
38
+ getItems ( props , ' toEnforce' , ' enforceChildrenOf' , ' input, select, textarea') . each ( function ( item ) {
29
39
if ( element . checked ) {
30
40
fv . enforceField ( item ) ;
31
41
} else {
@@ -41,7 +51,7 @@ Form.Validator.addAllThese([
41
51
test : function ( element , props ) {
42
52
var fv = element . getParent ( 'form' ) . retrieve ( 'validator' ) ;
43
53
if ( ! fv ) return true ;
44
- ( props . toIgnore || document . id ( props . ignoreChildrenOf ) . getElements ( ' input, select, textarea') ) . each ( function ( item ) {
54
+ getItems ( props , ' toIgnore' , ' ignoreChildrenOf' , ' input, select, textarea') . each ( function ( item ) {
45
55
if ( element . checked ) {
46
56
fv . ignoreField ( item ) ;
47
57
fv . resetField ( item ) ;
@@ -58,7 +68,7 @@ Form.Validator.addAllThese([
58
68
if ( ! props . value ) return true ;
59
69
var fv = element . getParent ( 'form' ) . retrieve ( 'validator' ) ;
60
70
if ( ! fv ) return true ;
61
- ( props . toEnforce || document . id ( props . enforceChildrenOf ) . getElements ( ' input, select, textarea') ) . map ( function ( item ) {
71
+ getItems ( props , ' toEnforce' , ' enforceChildrenOf' , ' input, select, textarea') . each ( function ( item ) {
62
72
if ( props . value == element . value ) {
63
73
fv . enforceField ( item ) ;
64
74
} else {
@@ -83,7 +93,7 @@ Form.Validator.addAllThese([
83
93
test : function ( element , props ) {
84
94
var fv = element . getParent ( 'form' ) . retrieve ( 'validator' ) ;
85
95
if ( ! fv ) return true ;
86
- var eleArr = props . toToggle || document . id ( props . toToggleChildrenOf ) . getElements ( 'input, select, textarea' ) ;
96
+ var eleArr = getItems ( props , ' toToggle' , ' toToggleChildrenOf' , 'input, select, textarea' ) ;
87
97
if ( ! element . checked ) {
88
98
eleArr . each ( function ( item ) {
89
99
fv . ignoreField ( item ) ;
@@ -103,7 +113,7 @@ Form.Validator.addAllThese([
103
113
return Form . Validator . getMsg ( 'reqChkByNode' ) ;
104
114
} ,
105
115
test : function ( element , props ) {
106
- return ( document . id ( props . nodeId ) . getElements ( props . selector || 'input[type=checkbox], input[type=radio]' ) ) . some ( function ( item ) {
116
+ return getItems ( props , false , ' nodeId' , props . selector || 'input[type=checkbox], input[type=radio]' ) . some ( function ( item ) {
107
117
return item . checked ;
108
118
} ) ;
109
119
}
@@ -129,8 +139,8 @@ Form.Validator.addAllThese([
129
139
return item . checked ;
130
140
} ) ;
131
141
var fv = element . getParent ( 'form' ) . retrieve ( 'validator' ) ;
132
- if ( oneCheckedItem && fv ) {
133
- grpNameEls . each ( function ( item , index ) { fv . resetField ( item ) ; } ) ;
142
+ if ( oneCheckedItem && fv ) {
143
+ grpNameEls . each ( function ( item , index ) { fv . resetField ( item ) ; } ) ;
134
144
}
135
145
return oneCheckedItem ;
136
146
}
@@ -248,5 +258,6 @@ Form.Validator.addAllThese([
248
258
}
249
259
} ]
250
260
251
-
252
261
] ) ;
262
+
263
+ } ) ;
0 commit comments