html 设置日期可以为空,允许HTML5日期输入空值

如果我使用HTML5日期输入和字段表示映射到一个可空datetime列在数据库中,我该如何设置围绕在输入字段为空值的日期?允许HTML5日期输入空值

我的应用程序正在使用AngularJS和我的NG-模型映射到具有空的初始值(或空字符串)一个范围可变。以下是浏览器的控制台所说的内容:

Error: [ngModel:datefmt] http://errors.angularjs.org/1.6.6/ngModel/datefmt?p0=2017-09-14T00%3A00%3A00

at angular.js:88

at Array. (angular.js:25308)

at angular.js:29301

at m.$digest (angular.js:18253)

at m.$apply (angular.js:18531)

at l (angular.js:12547)

at s (angular.js:12785)

at XMLHttpRequest.y.onload (angular.js:12702) undefined

该文档说明分配给日期输入字段的值必须是Date对象。我试图传递的值不是日期,因为该字段并不总是有值。我想我可以提供一个默认值,比如今天的日期,但我担心用户可能会允许在特定的领域并不需要一个值提交该值(例如取消日期的东西,还没有取消) 。

看来还取决于哪种浏览器使用的是您可以清除用户之前通过点击“X”按钮,浏览器在现场插入输入的日期。我试图添加一个按钮来设置字段的值为空字符串,但我得到相同的错误。

我在过去做过的解决方法是改为使用文本输入字段并使用正则表达式来验证输入,但似乎不应该这样做,并且日期输入字段应该允许空条目。

+0

你尝试使用一个空字符串?它的工作原理在这个[上PLNKR DEMO](https://plnkr.co/edit/6aYiYDgNc6kLFr1GKBXp?p=preview)。 –

+0

我想这毕竟有效;当我的模型的日期值被绑定时,该错误实际上正在发生。与控件关联的日期格式为“mm/dd/yyyy”(与Chrome相似,就像您的示例一样),但相关日期为“2017-09-14T00:00:00”。我不在乎这种情况下的时间部分,只是日期部分。这几乎就像它不喜欢这种格式。我如何解决这个问题?如果我能解决这个问题,我一定会修复应用程序其他部分的所有笨拙的解决方法。 –

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值