我是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 :(得分: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"
});