@@ -341,6 +341,9 @@ define([
341341 if ( obj . placeholder != undefined ) {
342342 suggestInput . setPlaceholder ( obj . placeholder ) ;
343343 }
344+ if ( obj . required === true ) {
345+ suggestInput . addAttribute ( 'required' , true ) ;
346+ }
344347 suggestInput . setSelectEvent ( function ( selectedValue ) {
345348 // trigger change
346349 $ ( pageThis . wrapSelector ( '#' + obj . name ) ) . val ( selectedValue ) ;
@@ -354,16 +357,18 @@ define([
354357 id : obj . name ,
355358 allowDataType : obj . var_type ,
356359 placeholder : obj . placeholder || 'Select data' ,
357- value : value
360+ value : value ,
361+ required : obj . required === true
358362 } ) ;
359363 content = $ ( dataSelector . toTagString ( ) ) ;
360364 break ;
361365 case 'var_select' :
362366 // suggest input tag
363367 var tag = $ ( '<input/>' ) . attr ( {
364- 'type' : 'text' ,
365- 'id' : obj . name ,
366- 'class' : 'vp-input vp-state'
368+ type : 'text' ,
369+ id : obj . name ,
370+ class : 'vp-input vp-state' ,
371+ required : obj . required === true
367372 } ) ;
368373 vp_generateVarSuggestInput ( pageThis . wrapSelector ( ) , obj ) ;
369374 content = tag ;
@@ -398,12 +403,13 @@ define([
398403 break ;
399404 case 'input_number' :
400405 var input = $ ( '<input/>' ) . attr ( {
401- 'type' :'number' ,
402- 'class' :'vp-input vp-state' ,
403- 'id' :obj . name ,
404- 'placeholder' :( obj . placeholder == undefined ?'Input Number' :obj . placeholder ) ,
405- 'value' :( obj . default == undefined ?'' :obj . default ) ,
406- 'title' :( obj . help == undefined ?'' :obj . help )
406+ type : 'number' ,
407+ class : 'vp-input vp-state' ,
408+ id : obj . name ,
409+ placeholder : ( obj . placeholder == undefined ?'Input Number' :obj . placeholder ) ,
410+ value : ( obj . default == undefined ?'' :obj . default ) ,
411+ title : ( obj . help == undefined ?'' :obj . help ) ,
412+ required : obj . required === true
407413 } ) ;
408414 if ( obj . step != undefined ) {
409415 $ ( input ) . attr ( { 'step' : obj . step } ) ;
@@ -430,12 +436,13 @@ define([
430436 // default : input_single
431437 default :
432438 var input = $ ( '<input/>' ) . attr ( {
433- 'type' :'text' ,
434- 'class' :'vp-input input-single vp-state' ,
435- 'id' :obj . name ,
436- 'placeholder' :( obj . placeholder == undefined ?'Input Data' :obj . placeholder ) ,
437- 'value' :( obj . default == undefined ?'' :obj . default ) ,
438- 'title' :( obj . help == undefined ?'' :obj . help )
439+ type : 'text' ,
440+ class : 'vp-input input-single vp-state' ,
441+ id : obj . name ,
442+ placeholder : ( obj . placeholder == undefined ?'Input Data' :obj . placeholder ) ,
443+ value : ( obj . default == undefined ?'' :obj . default ) ,
444+ title : ( obj . help == undefined ?'' :obj . help ) ,
445+ required : obj . required == true
439446 } ) ;
440447 // cell metadata test
441448 if ( value != undefined ) {
@@ -490,6 +497,9 @@ define([
490497 suggestInput . setSuggestList ( function ( ) { return varList ; } ) ;
491498 suggestInput . setNormalFilter ( false ) ;
492499 suggestInput . setValue ( defaultValue ) ;
500+ if ( obj . required === true ) {
501+ suggestInput . addAttribute ( 'required' , true ) ;
502+ }
493503 if ( obj . placeholder != undefined ) {
494504 suggestInput . setPlaceholder ( obj . placeholder ) ;
495505 }
0 commit comments