'number:true'はjqueryの検証にフィールドが必要になる

I am using the jQuery Validation plugin

自分のフィールドの1つを数字にしたいが、必須フィールドではない。

つまり、 number:true を設定すると、フィールドが必要になります。何故ですか?私は number:true required:false を追加しようとしましたが、役に立たなかった。

この私のコード:

name : {
    required:false,
    number:true
}

私はエラーメッセージを設定していませんが、デフォルトのエラーメッセージ "有効な番号を入力してください"が表示されます。

5
問題は、空の文字列が有効な数字ではないことです。私はあなたが望む(完全に合理的な)振る舞いを得る方法を知るために、そのプラグインについて十分に知りません。
追加された 著者 Pointy,
[このデモ] [1]をチェック: docs.jquery.com/Plugins/ Validation/Methods/number 必須をfalseに変更してOKにしてください。さらに、htmlで詳細を表示することもできます。
追加された 著者 Min2liz,

5 答え

ソースコードでは、この正規表現を使用して数値を検証しています:

/^-?(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/

フィールドが空の場合( "" )、テストに合格しません:

/^-?(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/.test("")
//false
6
追加された

あなた自身のバリデーターを書くかもしれません。それほど難しいことではありません。何かのようなもの:

$.validator.addMethod
(
    "number2",
    function (value, element)
    {
       //Remove numberish characters.
        value = value.replace("$", "").replace(",", "");

       //A regex might be better but this works too.
        if (!isNaN(parseFloat(value)))
        {
            $(element).val(parseFloat(value));
            return true;
        }
        else if (value === "")//handle empty value
        {
            return true;
        }
        else
        {
            return false;
        }
    },
    "Numeric only."
);

次に、ルールを適用します。たとえば、次のようにします。

$.validator.addClassRules("numeric", { number2: true });

このテーマの変形を整数値や通貨価値に適用することができます。もちろん、データの検証や「クリーニング」と非常に複雑になる可能性があります。

3
追加された

ではなく、 <input> 属性を text と同じにする必要があります。

<input type="text" id="phone" name="phone" />
0
追加された

Works fine @ http://jsfiddle.net/b3RmV/1/

数値以外の文字でのみエラーを表示します。そうでない場合は、フォームを送信してください。

0
追加された

それは、カスタムメソッドに追加する必要がある内部メソッドに追加のものがあるため、うまく動作します:

// http://docs.jquery.com/Plugins/Validation/Methods/number
number: function(value, element) {
    return this.optional(element) || /^-?(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/.test(value);
},

Notice this.optional(element) ||

必要なときにカスタム作業を正しく行うためにカスタムメソッドにこれを追加する必要があります

ちなみに、私はこれを見つける方法を見てこの記事のおかげで、ありがとう。

0
追加された
JavaScript - 日本のコミュニティ
JavaScript - 日本のコミュニティ
2 参加者の

日本人コミュニティのjavascript