最终效果如下
使用在模板中生成的控件
在template_field_jsp文件中,日期时间控制模板如下所示
scriptid=' TPL date picker ' type=' text/template ' [ % field.is range=field.configname==' date range config ' ]; % ] [ % field.name suffix=field.is range! Field.name.contains('range )?' 语言' : '; % ] divclass=' form-control [ %=field.form cls % ] ' style=' [ %=field.formstyle % ] ' divclass=' date picker ' ' name=' [ %=field.name field.name suffix % ] ' value=' [ %=] img alt=' I [ %=field.name.capital ize ] input type=' hidden ' id=' [ %=field.start|||field.name.replace (' ts ' ), ' startts ' % ] ' name=' [ %=field () ) ) ) ) fiee lace ' startts ' % ] '/input type=' hidden ' id=' [ %
templates : { fields : } { name : ' name ',label: '类名',type:'text ',col: ',required 3360 truirue configname : ' date range config ',col: 8,required: true,start 33666 end : ' classen dts ' },{ name 3: ' isared col: 6,colext:'radding ',type : ' radio : { enum name : ' yes _ no ',col: 5 },required: true,
在common.base.js文件中定义了表单验证。 模板中日期控件的name为classTs,但jsp模板将Range添加到日期段控件的name之后,因此classTs值为空,将发生表单验证
方法1解决方案:重写base中的检查方法,必须在自己的form.js文件中重写,不能直接在base.js文件中修改。 如果以某种方式将classTs检查规则支付给classTsRange,则classTsRange具有值,可以在检查中删除classTs检查
方法2 :
scriptid=' TPL date picker ' type=' text/template ' [ % field.is range=field.configname==' date range config ' ]; % ] [ % field.name suffix=field.is range! Field.name.contains('range )?' 语言' : '; % ] divclass=' form-control [ %=field.form cls % ] ' style=' [ %=field.formstyle % ] ' divclass=' date picker ' ' name=' [ %=field.name field.name suffix % ] ' value=' [ %=] img alt=' I [ %=field.name.capital ize ] input type=' hidden ' id=' [ %=field.start|||field.name.replace (' ts ' ), ' startts ' % ] ' name=' [ %=field () ) ) ) ) fiee lace ' startts ' % ] '/input type=' hidden ' id=' [ % (' endts ' (% ) ) ) ) ) ) ) ) ) ' endts ' % '/[ % } % ]/div/div/script template _ filed.JSP文件中的模板field.configname==' daterangeconname=field.name.contains (‘range’),即如果filed.name不包含range,则为field. 就这样把filed.name
补充说明:后端已经返回yyyy-mm-dd格式的时间字符串,因此不需要将时间格式化为日期范围配置中的日期段控件
添加判断,如果field.configname===‘date range config’,则返回空