Javascript angularjs$在firefox中的日期报告错误时有效
我注意到firefox中日期的表单验证存在一个问题,如果您能提供任何建议或有用的解决方法,我将不胜感激 日期验证问题 我使用的是angularjs v1.3.11,我遇到的问题实际上是引导数据采集器的问题,但是对于标准输入类型=“日期”字段来说,这是相同的问题 如果我使用bootstrap datepicker或表单上的输入type=“date”字段$valid将无效的闰日(例如2013年2月29日(en GB日期-DD/MM/yyyyy))放入文本字段,则该字段在所有浏览器上都会报告为无效,并接受firefox。我真的希望它在每个浏览器上都报告为无效 它似乎使日期无效,例如,如果我在字段中输入完整的垃圾,比如输入一个没有月份的日期,那么在我测试过的所有浏览器中,29/2013都会正确地报告为无效。就好像angular在为firefox运行一个特殊的正则表达式,它不关心日期的有效性,只关心其中有3组数字 在angular网站上查看此日期问题 如果您选择以下链接,您将被带到angulars自己的输入[日期]记录 按照firefox中的链接-滚动到页面底部,找到他们在屏幕上显示的示例,并键入无效日期,如2013年2月29日(该网站上firefox似乎需要ISO日期格式),您将看到它报告您输入的日期为有效日期,尽管2013年没有2月29日,因为它不是闰年 例如,如果您在chrome中执行相同的测试,您将看到它将日期报告为无效——这就是我希望发生的事情 如何解决此问题? 谢谢你,如果你能读到这里!我意识到这可能是一个特定浏览器如何处理日期的问题,尽管我已经搜索了很多地方,在firefox或angular中都没有发现任何列出的错误 我在这里真正希望的是,有人可能知道一种变通方法,例如,一种截取在输入字段上确定$valid的调用的方法,这样我就可以运行自己的正则表达式或类似的东西。如果有人知道这在firefox中为何如此奇怪,我也想知道 提前感谢任何人提供的任何帮助:)Javascript angularjs$在firefox中的日期报告错误时有效,javascript,angularjs,validation,date,firefox,Javascript,Angularjs,Validation,Date,Firefox,我注意到firefox中日期的表单验证存在一个问题,如果您能提供任何建议或有用的解决方法,我将不胜感激 日期验证问题 我使用的是angularjs v1.3.11,我遇到的问题实际上是引导数据采集器的问题,但是对于标准输入类型=“日期”字段来说,这是相同的问题 如果我使用bootstrap datepicker或表单上的输入type=“date”字段$valid将无效的闰日(例如2013年2月29日(en GB日期-DD/MM/yyyyy))放入文本字段,则该字段在所有浏览器上都会报告为无效,并
Lindsay您需要更复杂的日期逻辑来确定日期是否有效。我建议使用第三方库(如moment.js或date.js)来执行日期验证逻辑 对于以下问题,请尝试接受答案底部的演示链接: 输入2013-02-29,将正确识别无效日期
在Firefox、IE和Chrome上测试。非常感谢您,您的解决方案很有意义。我似乎使用了错误版本的Moment,因为它接受了真正随机的事情作为日期,例如一个位数,但这显然是另一个问题,在旧版本的Moment中!我不确定我是如何下载了这么旧的版本,但我会解决这个问题,我相信一切都会好起来:)