【发布时间】:2016-10-22 12:35:11
【问题描述】:
请帮助找出我的 jquery 验证问题。我正在使用 jQuery Validation plugin 来验证我的表单。我添加了一个自定义规则来检查图像的尺寸(尝试上传图像)。这是自定义方法的代码
$.validator.addMethod('checkDim', function (value, element, param) {
var image = new Image();
var file = element.files[0];
var _URL = window.URL || window.webkitURL;
image.src = _URL.createObjectURL(file);
image.onload = function () {
console.log("The image width is " + this.width + " and image height is " + this.height);
if(this.width == param[0] && this.height == param[1]){
return true;
}
else{
return false;
}
};
}, 'Image dimension must be as specified');
我添加了如下规则
image: {required: true, accept: "image/*", checkDim: [1366,311]}
函数被正确调用,因为我可以在控制台中看到消息,并且维度也计算正确,但此函数总是返回无效。
请帮我弄清楚我做错了什么。
【问题讨论】:
-
无效意味着返回false?
-
请提供错误
-
同时记录 param[0] 和 param[1] 以查看其中的内容以及返回 false 的原因。
-
Dhaval 参数已经是正确的控制台值。