为什么不运行jquery验证?

时间:2016-12-21 06:18:29

标签: javascript jquery html validation upload

我有这个表单和所有其他输入,所有输入都正确地显示错误,除了这个,这是一个文件上传。

有人可以给我一双眼睛,看看我错了吗?

当我console.log(element)假设显示错误发生时但是根本没有发生。

这是我的html

的代码
<label for="phone">Phone</label><input type="text" name="phone" value="">
<label for="city">City</label><input type="text" name="city" value="">
<label for="qr_code_image">QR CODE</label><input type="file"  class="hidden image-field" name="qr_code_image" id="qr_code_image"><div class="add-image-icon" data-field="qr_code_image"><i class="icon-plus"></i></div>

在我的js中

           rules: {
                city: {
                    required: true
                },
                phone: {
                    required: true,
                },
                qr_code_image: {
                    required: true
                }
            },
            // Where to place the error message
            errorPlacement: function (error, element) {
                console.log(element);
                error.appendTo(element.next('.errorMsg'));
            }

我没有在这里添加错误输出的div。 使用控制台日志,我只能看到两个错误,而不是3个。 我尝试提交甚至没有点击图片上传。

编辑:我意识到这两个类都使用display: none !important

有没有办法保留css并仍然可以使验证工作?

2 个答案:

答案 0 :(得分:0)

试试这个:

{{1}}

答案 1 :(得分:0)

$(document).ready(function () {

    $('#form').validate({
        ignore: [],
        rules: {
           city: {
                required: true
            },
            phone: {
                required: true,
            },
            qr_code_image: {
                required: true,
                accept: 'jpeg|png|jpeg'
            }
        },
         // Where to place the error message
        errorPlacement: function (error, element) {
            console.log(element);
            error.appendTo(element.next('.errorMsg'));
        }
    });

});

在选项中添加ignore:[]字段可能会解决问题。我也遇到了类似的问题,解决了这个问题。