2011-01-24 9 views
2

jquery validateプラグインを使用して、フォームのNumberフィールドを検証しています。検証のためJqueryは特殊文字でプラグイン番号検証を有効にします

スクリプトは、私としては、(または許可)にしたい、私のフォームフィールド<input name="NUMBER" type="text" id="NUMBER" value="" maxlength="4" >

を検証しますが、

NUMBER: { 
    required: true, 
     number: true, 
    minlength: 4, 
    }, 

特殊文字 "+"、 "-"、および "," で、フォームフィールドに "NA"と入力してください。これをどうすればいいのですか?

:言葉、それは一人でいるとき、「 NAが」

事前のおかげで..他の文字や数字なしで、検証する必要があります。.. :)

答えて

6

あなたはyour own custom rule for validatorでこれを達成することができます

をblasteralfred
$.validator.addMethod("custom_number", function(value, element) { 
    return this.optional(element) || value === "NA" || 
     value.match(/^[0-9,\+-]+$/); 
}, "Please enter a valid number, or 'NA'"); 

これはオプションのフィールドで、「NA」に等しいか、正規表現に適合しているかどうかを検証します。あなたが何かをもう少し説明的な名前custom_numberを置き換える必要があり、明らかに

$("form").validate({ 
    rules: { 
     number: { 
      required: true, 
      custom_number: true, 
      minlength: 4 
     } 
    } 
}); 

そして、その後、あなたはちょうどあなたが好きなフィールドに、この新しいルールを適用します。

チェックアウトここで働い例:http://jsfiddle.net/andrewwhitaker/RtK2p/1/

+1

ありがとうございました........ :) –

1

チェックこの1 http://archive.plugins.jquery.com/project/jvalidationより柔軟かつ3未満のKサイズで使いやすいです。デフォルトのデータ・検証・フォーマット検証私は

は、彼らがそのような数字

などのオプションの検証を拡張するためのサンプルを持っている属性の値として入れ

<input data-validate-format='/^([0-9,\+-]{0,4}|NA)$/' /> 

チェックの正規表現を使用することができますあなたのケースで

$.fn.validations.options.validators.age = function(){ 
    return this.val()>0&&this.val()<100; 
} 

とあなたのhtmlであなたは

のようなSTHを追加

jQuery Validation Pluginのドキュメントを確認

関連する問題