@@ -341,6 +341,9 @@ define([
341341if ( obj . placeholder != undefined ) {
342342suggestInput . setPlaceholder ( obj . placeholder ) ;
343343}
344+ if ( obj . required === true ) {
345+ suggestInput . addAttribute ( 'required' , true ) ;
346+ }
344347suggestInput . setSelectEvent ( function ( selectedValue ) {
345348// trigger change
346349$ ( pageThis . wrapSelector ( '#' + obj . name ) ) . val ( selectedValue ) ;
@@ -354,16 +357,18 @@ define([
354357id :obj . name ,
355358allowDataType :obj . var_type ,
356359placeholder :obj . placeholder || 'Select data' ,
357- value :value
360+ value :value ,
361+ required :obj . required === true
358362} ) ;
359363content = $ ( dataSelector . toTagString ( ) ) ;
360364break ;
361365case 'var_select' :
362366// suggest input tag
363367var 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} ) ;
368373vp_generateVarSuggestInput ( pageThis . wrapSelector ( ) , obj ) ;
369374content = tag ;
@@ -398,12 +403,13 @@ define([
398403break ;
399404case 'input_number' :
400405var 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} ) ;
408414if ( obj . step != undefined ) {
409415$ ( input ) . attr ( { 'step' :obj . step } ) ;
@@ -430,12 +436,13 @@ define([
430436// default : input_single
431437default :
432438var 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
441448if ( value != undefined ) {
@@ -490,6 +497,9 @@ define([
490497suggestInput . setSuggestList ( function ( ) { return varList ; } ) ;
491498suggestInput . setNormalFilter ( false ) ;
492499suggestInput . setValue ( defaultValue ) ;
500+ if ( obj . required === true ) {
501+ suggestInput . addAttribute ( 'required' , true ) ;
502+ }
493503if ( obj . placeholder != undefined ) {
494504suggestInput . setPlaceholder ( obj . placeholder ) ;
495505}