2009-01-27 54 views
3

我使用的是jQuery Validation plugin,我有一個類digits的文本框,強制它僅僅是數字,但不是必需的。當我在窗體上調用驗證時工作正常,但如果在文本框爲空時調用valid(),它將返回0,儘管沒有顯示錯誤消息並且不需要設置。當需求不正確時,jQuery Validation`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

哎呦,閱讀問題是錯誤的。 :) – 2009-01-27 03:31:11

回答

7

檢查這一點,從documentation

使 「場」 只需要 和數字。

你可以做這樣的事情:

var isValid = jQuery('#kiloMetresTravelled').valid() || jQuery('#kiloMetresTravelled').val() == ""; 
+1

它不只是說'使元素只需要數字'。他們還添加了「必需」規則 – 2009-01-27 03:36:58

2

我想這樣的作品:

var e="#whatever"; 
var isValid = $(e).valid() || $(e).val()== "" && !$(e).hasClass('required'); 
0

有一個在庫中的缺陷時,規則方法檢查與「this.optional可選字段(元件)」。當該字段爲空時,此選項返回「依賴不匹配」,並且驗證方法返回「未定義」,將該字段標記爲無效。

這裏充分的解釋:

https://github.com/jzaefferer/jquery-validation/issues/481