【发布时间】:2015-11-24 19:41:22
【问题描述】:
基本上我的数据库中有一个日期类型的列,但可以为空。我有一个使用 Angular/Bootstrap 的表单,允许用户根据需要输入日期,但他们不必这样做,为此我使用 Bootstraps 表单控制类并为输入提供日期类型。
当表单第一次加载日期为空值时,一切正常。数据库保存得很好,一切都很好。但是,当我将记录加载到此表单中时,如果数据库显示空值,Angular/Javascript 会将其显示为 1969 年 12 月 31 日,而不是像最初加载空值时那样显示“mm/dd/yyyy”。这会导致问题,因为如果用户保存此表单,它会将默认的 1969 年 12 月 31 日作为实际日期并将其保存为输入。
我已经通过控制台对其进行了跟踪,并且当它到达我的模型绑定时,我 100% 肯定日期值为 null (),所以我想不出在这种情况下该怎么做,我真的很感激任何指针。
关于拉取数据:
if (myDateFromDatabase !== null) {
myDateFromDatabase = new Date(myDateFromDatabase);
}
在视图中:
<input ng-model="myDateFromDatabase" type="date" class="form-control" />
【问题讨论】:
-
请显示一些代码。您的问题是题外话,否则将被搁置。
-
更具体地说,我要的是执行您在问题中描述的控制器或指令。
-
这听起来真的像你得到一个空字符串(甚至是一个 0)与一个
null返回myDateFromDatabase...如果你这样做if (myDateFromDatabase !== null && myDateFromDatabase !== '')你仍然得到那些结果?如果你在if块内放了一个debugger,你的控制台会落在上面吗?我知道你说你是 100% 肯定的myDateFromDatabase是null,但你来这里是为了第二眼,所以看到那个证明也不会有什么坏处。 -
如果您需要,请在您引用的地方发布它我还可以证明它一直沿用到控制器中的绑定。
标签: javascript angularjs date angular-ui-bootstrap