使用Jquery Validate在IE8 / Safari中无法使用属性

时间:2014-04-16 22:13:35

标签: jquery forms validation requiredfieldvalidator required

我正在使用Jquery validate插件,并且它遇到了必需属性的问题,因为我的表单尽管具有必需属性但仍在提交。

我已经尝试过必需=“必需”并且只需要自己,但没有运气。

以下是我的示例代码:

   <input id="txt_field1" name="txt_field1" type="text" required/>

也尝试过:

   <input id="txt_field2" name="txt_field2" type="text" required="required"/>

我找到了2个解决方法,但似乎不是最好的方法。

 $('form').validate({
       rules: {
         txt_field1: { 
            required: true
         },
         txt_field2: {    
            required: true
         }
       }
 });

这似乎也有效:

 $('form').validate();
 $('input[required]').each(function () {

        $(this).rules("add", {
            required: true
        });

  });

有没有比添加额外代码以使其工作更好的方法?我正在使用Jquery Validate版本1.9。

由于

2 个答案:

答案 0 :(得分:0)

您必须将class属性设置为必需。

 <input id="txt_field2" name="txt_field2" type="text" class="required"/>

答案 1 :(得分:-1)

我认为必需属性实际上是HTML5功能而不是jquery功能。在jquery中,您不需要输入必需的属性,只需将dom元素声明为您第一次处理状态所需的元素。某些浏览器尚不支持必需属性。

对于Safari,表单验证仅部分支持,即在提交期间未填写所需表单时不发出警告,而对于IE8则完全不支持。点击这些链接可获取更多信息:http://caniuse.com/#feat=form-validation和此处http://www.w3schools.com/tags/att_input_required.asp