我用jquery日期规则渲染了普通文本。日期规则在chrome中正常工作但在Firefox和IE中无法正常工作。请看我的代码块。
<form id="myform">
<input id="datepick" type="text" name ="datepick"/>
<input type="submit" id="ValidateDate" />
</form>
$("#myform").validate({
rules: {
datepick:{
date:"MM/dd/yyyy"
}
},
messages: {
datepick:{
date:"Give MM/dd/yyyy format"
}
}
});
$('#datepick').keyup(function () {
$("#ValidateDate").submit();
});
</script>
当我输入 12 / 3err / 3001 时,它会在所有浏览器中抛出错误
当我输入 12/234/2333 时,它会在firefox和IE中抛出错误chrome。
此外,我想分享一个信息。
http://jqueryvalidation.org/date-method/
在上面的链接中,即使是普通的文本框,jQuery验证在Mozilla,IE浏览器中也无法正常工作。
请在上面的jquery链接示例中键入 22/233/2222 值,然后您可以找到以下输出变化
在chrome:
在Firefox中:
请帮我解决这个问题.....
谢谢,
Gobalakrishnan
答案 0 :(得分:1)
您链接的文档说明了这一点:
此方法不应使用,因为它依赖于新的Date构造函数,在浏览器和区域设置中的行为差别很大。使用
ssl.verifypeer
代替或使用某种特定于语言环境的方法(在localizations /和additional-methods.js中)。
我的重点。
答案 1 :(得分:1)
此问题是由于浏览器之间的日期解析行为差异造成的。你可以看到下面的内容。
铬
新日期(“92/12/2015”) - 无效日期
的FireFox
新日期(“92/12/2015”) - 日期{Sun Jun 07 1998 00:00:00 GMT + 0530(印度标准时间)}
date
规则仅根据输入的日期值检查格式,因此验证在FF中成功。
因此@SomekidwithHTML提议您可以使用dateIso
来检查ISO日期标准的日期,或根据您的需要实施我们的自定义验证。