0

私は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;
?>

ここで問題となるのは、入力された数量が10進数であるかどうかを検出できないことです。10進数の場合、エラーメッセージを表示したい:整数のみが金額に有効です。また、入力した数量を$ Divisionと比較すると、どの正の整数を入力しても、「購入するのに十分な量がありません」というエラーメッセージが常に表示されます。誰かアドバイスをいただけますか?よろしくお願いします!

4

1 に答える 1

0

この方法を使用して、数値が10進数ではないことを知ることができます

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

比較の観点から、値をIntieに解析します。

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 (VAL.substr(0,1) != '0') return true; else return false;",
   message: "Leading zero is not allowed"
});
于 2012-08-25T18:21:46.530 に答える