2013-01-20 37 views
0

我想創建一個使用addMethod的jQuery驗證器。這對我來說都是新的,所以我學習的很慢。我有一個驗證器,下面是一個基於英國手機號碼的驗證器。這工作正常。jQuery驗證插件addMethod - 如何創建一個數字表格驗證程序

我想創建一個新的數字,只允許在表單中接受一小部分數字。例如,數字1至5將被接受,但不接受任何更低或更高的數字。

此外,可以這樣做,只有一個號碼被接受?即5.

任何幫助非常感謝。就像我說的,我對這種編碼是新手,所以我仍然在找到自己的方式。我嘗試過無數次搜索,但是我一直無法回答我的問題。

jQuery.validator.addMethod('mobileUK', function(phone_number, element) { 
return this.optional(element) || phone_number.length > 9 && 
phone_number.match(/^((0|\+44)7(5|6|7|8|9){1}\d{2}\s?\d{6})$/); 
}, 'Please specify a valid mobile number'); 
+0

這是看你如何措辭你的問題,但是當我編輯你的OP,我認爲你已經知道了'addMethod'爲[jQuery的驗證的一部分不明插件(http://docs.jquery.com/Plugins/Validation)。 – Sparky

+0

只是@Parky的答案。我不確定你是如何找到'mobileUK'函數的,但它是jquery中發現的一個精簡版,用於驗證其他方法。除非你有特殊原因不使用原始文件,否則只需在其中添加其他方法和'mobileUK方法,而忘記添加自己的方法。這個例子是這個分叉小提琴http://jsfiddle.net/ZZ7Ph/ –

回答

0

報價OP:「我要創建一個新的一個是數字和將只允許號碼的小範圍內的形式被接受對於 實施例號1〜5那樣。接受,但不接受任何更低或更高的 「。

您不需要創建新的方法。 .validate()插件can already do this by default

$(document).ready(function() { 
    $('#myform').validate({ 
     rules: { 
      fieldname: { 
       range: [1, 5] 
      } 
     }, 
     messages: { // optional custom message 
      fieldname: { 
       range: "enter between {0} and {1}" 
      } 
     } 
    }); 
}); 

HTML:

<input type="text" name="field1" /> 

工作演示:

http://jsfiddle.net/uLSPU/

報價OP:「還有,能不能做到,只有一個號碼被接受?即5.「

是... http://jsfiddle.net/aTf32/

range: [5, 5]