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

现在的问题是我无法检测到输入的数量是否为十进制。如果是十进制,我想显示错误消息:只有整数对金额有效。而且,当我将输入的数量与 $division 进行比较时,无论我输入什么正整数,它都会始终显示错误消息“您的购买金额不足”。谁能给我一些建议?提前说声谢谢!

4

1 回答 1

0

您可以使用这种方法来知道数字不是十进制的

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

并在比较方面将值解析为 Int 即

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"
});

并防止前导 0 你可以使用

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 回答