File tree 1 file changed +17
-0
lines changed
1 file changed +17
-0
lines changed Original file line number Diff line number Diff line change @@ -212,6 +212,22 @@ $.extend(Selectize.prototype, {
212
212
delete settings . items ;
213
213
}
214
214
215
+ self . isRequired = self . $input . is ( ":required" ) ;
216
+ self . $control_input . prop ( 'required' , self . isRequired && ! self . items . length ) ;
217
+
218
+ // feature detect for the validation API
219
+ if ( self . $input [ 0 ] . validity ) {
220
+ self . $input . on ( 'invalid' + eventNS , function ( event ) {
221
+ event . preventDefault ( ) ;
222
+ self . isInvalid = true ;
223
+ self . refreshClasses ( ) ;
224
+ } ) ;
225
+ self . $input . on ( 'change' + eventNS , function ( event ) {
226
+ self . isInvalid = ! self . $input [ 0 ] . validity . valid ;
227
+ self . refreshClasses ( ) ;
228
+ } ) ;
229
+ }
230
+
215
231
self . updateOriginalInput ( ) ;
216
232
self . refreshItems ( ) ;
217
233
self . refreshClasses ( ) ;
@@ -293,6 +309,7 @@ $.extend(Selectize.prototype, {
293
309
* input / select element.
294
310
*/
295
311
onChange : function ( ) {
312
+ this . $control_input . prop ( 'required' , this . isRequired && ! this . items . length ) ;
296
313
this . $input . trigger ( 'change' ) ;
297
314
} ,
298
315
You can’t perform that action at this time.
0 commit comments