0

我已经验证了一个输入文件,但是当规则仅适用于required规则而不适用于accept规则和filesize规则时,我遇到了问题,这是我的代码

$('#myform').validate({
    rules: { image: { required: true, accept: "bmp", filesize: 1048576  }},
    messages: { image:{ required: "insert image", accept: "must in jpg,png and bimp format", filesize: "less than 1MB"  }}
});

当我不插入图像时,验证有效,会出现消息错误,但是当我插入bmp格式不正确或图像大小超过 1MB 的图像时,验证不起作用

请帮我..

谢谢..

4

1 回答 1

2

您可以为此添加验证方法

$.validator.addMethod("uploadFile", function (val, element) {
    var ext = $(element).val().split('.').pop().toLowerCase();
    var allow = new Array('bmp');
    var size = element.files[0].size;

    if (jQuery.inArray(ext, allow) == -1 || size > 1048576) {
        return false
    } else {
        return true
    }

}, "Invalid file");

并像这样使用它 -

rules: {
    image: {
       required: true,
       uploadFile:true
    }
}

演示--> http://jsfiddle.net/pEnDY/2/

于 2013-05-21T15:53:56.333 回答