2012-08-25 11 views
0

jquery의 초보자이며 현재 jquery 유효성 검사에 문제가 있습니다.jquery 유효성 검사 문제

jQuery(function(){ 
       jQuery("#qty").validate({ 
        expression: "if (VAL) return true; else return false;", 
        message: "please enter buying amount" 
       }); 
       jQuery("#qty").validate({ 
        expression: "if (!isNaN(VAL)) return true; else return false;", 
        message: "Only integer is valid for amount" 
       }); 

       jQuery("#qty").validate({ 
        expression: "if (VAL > 0) return true; else return false;", 
        message: "At least buy 1 share" 
       }); 
       jQuery("#qty").validate({ 
        expression: "if (VAL <= jQuery('#division').val()) return true; else return false;", 
        message: "You have insufficient amount to purchase" 
       }); 

및 다른 관련 부분 :

<td><input type="text" name="quantity" size="10" id="qty" value=""/> 
<?php 
$division = $available/$rate; 
?> 

지금 문제가 내가 수량 입력 소수점 여부를 감지 할 수있다 여기에 내 코드입니다. 십진수이면 오류 메시지를 표시하려고합니다. 정수 만 유효합니다. 또한, $ division에 입력 된 양을 비교할 때, 내가 입력 한 양의 정수가 무엇이든 관계없이 항상 "구매할 금액이 충분하지 않습니다"라는 오류 메시지가 표시됩니다. 누구든지 조언을 해줄 수 있습니까? 미리 감사드립니다.

답변

0

당신은

jQuery("#qty").validate({ 
    expression: "if (parseInt(VAL, 10) <= parseInt(jQuery('#division').val(), 10)) return true; else return false;", 
    message: "You have insufficient amount to purchase" 
}); 

지능 예에의 값을 구문 분석

jQuery("#qty").validate({ 
    expression: "if (!isNaN(VAL) && (parseFloat(VAL)==parseInt(VAL))) return true; else return false;", 
    message: "Only integer is valid for amount" 
}); 

비교의 관점에서 진수되지 않은 번호를 알고이 방법을 사용할 수 있습니다 당신이 사용할 수있는 0을 선도 방지하기 위해

jQuery("#qty").validate({ 
    expression: "if (VAL.substr(0,1) != '0') return true; else return false;", 
    message: "Leading zero is not allowed" 
}); 
+0

정말 고마워요! 이것은 나에게 유용하다! 또 다른 질문은 금액 입력의 첫 번째 자리에 "0"을 입력하도록 사용자를 제한하는 방법입니까? – user1616230

+0

@ user1616230, 내 대답을 업데이트했습니다. –

+0

나중에 다시 한 번 감사드립니다. 그러나 "01", "001"또는 "0001"을 입력 할 때 (마지막 숫자를 제외한 모든 숫자가 0 인 경우) "leading zero is not allowed"메시지가 프롬프트됩니다. 그러나 "011", "0011", "0111"(0이 아닌 숫자가 1보다 큰 경우)을 입력하면 오류 메시지가 "양은 정수 만 유효합니다"라고 표시됩니다. 이 문제를 해결하도록 도와 줄 수 있습니까? 나는 jquery를 완전히 안심하고 도와 주셔서 정말 감사드립니다. 정말 고마워요. – user1616230