2016-06-21 1 views
0

jquery 유효성 검사와 관련된 문제를 찾으려면 도움을 받으십시오. 나는 내 양식의 유효성 확인을 위해 jQuery Validation plugin을 사용하고 있습니다. 이미지의 크기를 확인하기 위해 사용자 정의 규칙을 추가했습니다 (이미지 업로드 시도 중). 여기에 내가 콘솔에 메시지를 볼 수 있으며, 크기도 정확하게 계산 될 때 제대로이라고 jQuery 유효성 검사 플러그인 사용자 정의 메소드는 항상 유효하지 않습니다.

image: {required: true, accept: "image/*", checkDim: [1366,311]} 

아래 기능과 같은 규칙을 추가 한

$.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'); 

사용자 지정 방법에 대한 코드는하지만,이 기능을 항상 반환 유효하지 않습니다.

내가 뭘 잘못하고 있는지 알아낼 수있게 도와주세요.

+0

false는 false를 반환 함을 의미합니까? –

+0

오류 – Killan

+0

을 제공하십시오. 또한 param [0] 및 param [1]을 기록하여 그 내용이 무엇인지, 그 이유를 확인하십시오. –

답변

0

요소 매개 변수는 요소 (즉, 이미지)와 관련된 특성을 제공합니다. 이미지 개체를 만들거나 이벤트를로드 할 필요가 없습니다.

$.validator.addMethod('checkDim', function(value, element, param) { 
     var width = $(element).width(); 
     var height = $(element).height(); 
     console.log("The image width is " + width + " and image height is " + height); 
     if (width == param[0] && height == param[1]) { 
      return true; 
     } else { 
      return false; 
     } 
    }, 'Image dimension must be as specified'); 
+0

정의되지 않은 너비와 높이를 나타내는 Riyaj 작동하지 않습니다. – Karan

+0

@Karan은 업데이트 된 것을 확인하십시오. –

+0

@RIYAZ KHAN은 제대로 설명하지 못하는 것 같습니다. 이미지를 업로드하려고합니다. 귀하의 방법은 요소의 높이와 너비, 내가 선택한 이미지를 반환합니다. – Karan

관련 문제