Jquery日期规则在firefox和IE中不起作用

时间:2015-12-19 04:39:16

标签: javascript jquery validation firefox jquery-validate

我用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:

chrome output screen shot

在Firefox中:

enter image description here

请帮我解决这个问题.....

谢谢,

Gobalakrishnan

2 个答案:

答案 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日期标准的日期,或根据您的需要实施我们的自定义验证。

http://jqueryvalidation.org/jQuery.validator.addMethod/