我正在使用jQuery Validation plugin,我有一个类digits
的文本框,强制它只是数字,但不是必需的。当我在表单上调用validate时它工作正常,但是如果我在文本框上调用valid()
时为空,则返回0,尽管没有显示错误消息并且不需要设置。
有谁知道为什么它会为看似有效的输入值返回这个?
以下是代码:
<input type="text" value="" name="kiloMetresTravelled" id="kiloMetresTravelled" class="digits"/>
和脚本
<script type="text/javascript'>
var isvalid = jQuery('#kiloMetresTravelled').valid();
//isvalid == 0 when kiloMetresTravelled is blank
</script>
答案 0 :(得分:7)
需要“字段”和数字 仅
你可以这样做:
var isValid = jQuery('#kiloMetresTravelled').valid() || jQuery('#kiloMetresTravelled').val() == "";
答案 1 :(得分:2)
我认为这有效:
var e="#whatever";
var isValid = $(e).valid() || $(e).val()== "" && !$(e).hasClass('required');
答案 2 :(得分:0)
当规则方法使用“this.optional(element)”检查可选字段时,库中存在错误。当该字段为空时,this.optional返回“dependency-mismatch”,验证方法返回“undefined”,将该字段标记为无效。
这里有完整的解释: