2010-03-05 4 views
0

JQuery 유효성 검사 플러그인으로 입력 필드의 유효성을 검사하려고합니다. 숫자 범위 [range()]는 선택 상자의 값에 따라 다릅니다. 예를 들어 선택 상자가 "A"인 경우 범위는 1에서 10 사이 여야합니다. 그러나 "B"의 경우 5와 10 사이 여야합니다. 선택 상자의 값을 읽은 다음 입력을 검증하고 minumum 값을 전달하는 함수를 호출하여이 작업을 시도했습니다.JQuery 선택 상자에 따라 텍스트 필드 유효성 확인

"A"를 선택하고 "B"여야한다고 생각하면 여전히 "A"로 확인됩니다. '의존적'에 대해 생각하고 있었지만 '필수적'이라고 생각한다고 생각합니다.

$("#theSelectID").change(function() { 
     var theValueOfSelected = $('#LeverancierID :selected').text(); 
     switch(theValueOfSelected){ 
     case "A": 
      minval(1, "Null"); 
      break; 
     case "B": 
      minval(5, "PRCC"); 
      break; 
      } 
      function minval(theVal, theLev){ 
     $("#AddInkoop").validate({ 
      rules: { 
       Aantal: { 
        required: true, 
        range: [theVal, 999] 
       } 
      }, 
      messages: { 
       Aantal:{ 
        required:"required", 
        range: "give a number between "+ theVal +" and 999." 
       } 
      } 
     }); 
    } 

답변

0

나는 거꾸로 생각합니다. 선택 상자가 변경 될 때마다 유효성 검사 설정을 변경하는 대신 유효성 검사 규칙을 설정하여 선택 상자의 현재 값을 반영하는 함수를 사용하여 최소값을 계산합니다. 선택 변경시 허용 범위가 무엇인지 나타내는 설명 텍스트를 업데이트 할 수 있습니다.

$("#AddInkoop").validate({ 
     rules: { 
      Aantal: { 
       required: true, 
       range: function() { return [ $('#LeverancierID').val(), 999 ]; } 
      } 
     }, 
     messages: { 
      Aantal:{ 
       required:"required", 
       range: "the value is outside the acceptable range" 
      } 
     } 
}); 
+0

감사합니다.이 기능 덕분에 약간의 수정이 필요했지만 내 프로젝트에 적합합니다. – Elvn