私はすべてのフォーム検証のニーズに非常に優れたベーシスタンス検証プラグインを使用しています:http: //bassistance.de/jquery-plugins/jquery-plugin-validation/
私が遭遇した問題:ユーザーがフィールドの入力を完了していなくても、エラーメッセージが即座に表示されます。そのため、ユーザーが入力を完了するまで、無効な電子メールが表示されます。
ここのドキュメントでは、1つの解決策は、エラーメッセージがblurにのみ表示されるようにするオプションを設定onkeyup
することです。false
ただし、私のセットアップでは、2つの追加の問題が発生します(上記の解決策では解決されません)
- 無効なフォームを送信すると、エラーメッセージを修正してもクリアされません
- ブラウザの自動入力機能を使用すると、自動的に入力されたフィールドはエラーとしてマークされたままになります。
それで、私の最初の質問は、最初の送信後にのみ、そしてそれ以降のデフォルト設定で、Bassistance検証を起動させるにはどうすればよいですか?
これが私のコードです:
if($('#contact_form').length) {
$("#contact_form").validate({
rules: {
first_name: {
required: true
},
last_name: {
required: true
},
message: {
required: true
},
telephone: {
required: true
},
email: {
required: true,
email: true
},
email_again: {
required: true,
email: true,
equalTo: "#email"
},
norobot: {
required:true,
minlength:4,
maxlength:4,
number:true
}
}
});
}
ここで完全なJavaScriptを見つけてください:http://lad.chocolata.be/js/main.js
これは、バグが次のようにonkeyup
設定された実例です:http false
:
//lad.chocolata.be/nl/contact
いくつかの無効なフィールドを含むフォームを送信した後、それらを修正してもエラーメッセージはクリアされません。
私は何が欠けていますか?