jQuery MiniUI

标题: 日期数据输入自动转换BUG [打印本页]

作者: rinco_mini    时间: 2018-2-6 10:10:42     标题: 日期数据输入自动转换BUG

本帖最后由 rinco_mini 于 2018-2-6 10:18 编辑

BUG:在文本输入框,输入"2001-01-01 00:00:00",不包含双引号,保存,输入内容会变成"Mon Jan 01 2001 00:00:00 GMT+0800 (中国标准时间)"
测试版本:3.6,3.8.1(官网示例)
测试场景:
1、官网示例快速入门-CRUD-行编辑,在帐号地方输入"2001-01-01 00:00:00",然后Update
2、官网示例快速入门-CRUD-单元格编辑,在帐号地方输入"2001-01-01 00:00:00",然后保存
3、官网示例快速入门-典型界面-表格维护(弹出),编辑,在帐号地方输入"2001-01-01 00:00:00",然后保存

补充,输入框内容并不是日期类型,也不打算在数据库中作为日期类型保存,这个时候不期望转换成标准日期格式。

作者: felt    时间: 2018-2-6 17:12:07

yyyy-MM-dd hh:mm:ss 和yyyy-MMddTHH:mm:ss两种格式的字符串加载的时候我们会自动解析成date。
请尽量避免。
如果实在是这样的格式,那么请重写mini.decode方法来禁掉。
  1. mini.decode = function (json) {
  2.         //var re = /^(\d{4})-(\d{2})-(\d{2})[T](\d{2}):(\d{2}):(\d{2}(?:\.*\d*)?)Z*$/;
  3.          var re = /[\"\'](\d{4})-(\d{1,2})-(\d{1,2})[T](\d{1,2}):(\d{1,2}):(\d{1,2})(\.*\d*)[\"\']/g;
  4.         json = json.replace(re, "new Date($1,$2-1,$3,$4,$5,$6)");
  5.         return eval('(' + json + ')');
  6.     }
复制代码





欢迎光临 jQuery MiniUI (http://miniui.com/discuss/) Powered by Discuz! X2