2013-10-11 86 views
0

非常簡單的要求,驗證字段是否爲正數。Jquery驗證異常 - 未捕獲TypeError:不能調用未定義的方法'call'

請參閱JS小提琴

http://jsfiddle.net/DJMmm/5/

HTML代碼

<form id="new_leavetype_form" action = "<%=path %>/admin/create.go"> 

    <input name="default_days" id="default_days_id" type="text" />  
    <button id="submit_button" type="button">Submit</button> 

</form> 

JS代碼

$().ready(function(){ 
    $("#new_leavetype_form").validate({ 
     rules:{ 
      default_days: { number: true, required:true, PositiveNumber:true } 
     } 
    }); 

    $("#submit_button").click(function(){ 
     $("#new_leavetype_form").submit(); 
    }); 

}) 

問題

如果填字母(或多個),如「ABC」進入申請,同時提交失去焦點,確認被正確地發射,但是如果輸入的是一個數字將導致異常:「無法調用」呼叫'undefined'

我真的不知道是什麼引起了這個異常,請大家幫忙,謝謝。

+0

您還沒有定義'PositiveNumber'驗證方法。 – Barmar

+0

沒有規則說'PositiveNumber' –

+0

是不是默認方法? –

回答

1

沒有名稱PositiveNumber的驗證規則。

要麼你需要創建一個新的規則,也可以設置分規則來實現貴婦人

$("#new_leavetype_form").validate({ 
    rules: { 
     default_days: { 
      number: true, 
      required: true, 
      min: 0 
     } 
    } 
}); 

演示:Fiddle

+0

jquery驗證需要在錯誤消息中聲明缺少的規則名稱。 – Dwayne

相關問題