jquery验证问题

时间:2012-08-25 17:29:19

标签: php 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进行比较时,无论我输入什么正整数,它都将始终显示错误消息“您没有足够的购买金额”。谁能给我一些建议?提前谢谢你!

1 个答案:

答案 0 :(得分: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"
});