2011-06-27 5 views
0

私は、次のフォーム検証ロジックを持っている:jQueryの検証プラグインのなぜjQueryフォームバリデータープラグインがすぐに検証を開始するのですか?

validator = $form.validate({ 
    rules: { 
    'comment': { 
     regexp: /^[0-9a-zA-Z.,\s\/\(\)\&\'\-]*$/ 
    } 
    } 
}); 

私の理解では、送信ボタンまで検証しないということである最初のクリックされました。その後、熱心に検証します。これは他の検証済みのフォームで実際に見られる動作です。しかし何らかの理由で、comment入力から離れてすぐに検証されます(無効な文字を入力した場合は、入力フィールドの下に赤いメッセージが表示されます)。

誰もこれまでに遭遇したことはありますか?この動作(そして理想的には "修正")に関する既知の説明はありますか?あなたはdocumentation for this pluginを見れば

+0

私はそれが提出されたときに妥当性を確認し、フォーカスが失われたら各入力を検証すると考えました。 – CrazyDart

答えて

1

、あなたはtrueにonfocusoutオプションのデフォルトことがわかりますし、次のん:( チェックボックス/ラジオボタンを除く)

検証要素ブラーに。 が入力されていない場合は、フィールドが で無効とマークされている場合を除き、すべてのルールは にスキップされます。

だから設計通りです。このオプションをfalseに設定すると、必要な動作を得ることができます。

関連する問題