0

重複の可能性:
Twitter Bootstrap ポップオーバーを jQuery 検証通知に使用するには?

私は自分のプロジェクトでしばらくの間、twitter ブートストラップを使用してきました。私の現在のすべてのユースケースでは、フォームの送信により、サーバーへの完全なラウンドトリップが発生しました...つまり、ajaxはありません。したがって、div に「エラー」クラスを挿入し、「help-inline」スパンとそのテキストを挿入するのは非常に簡単でした。

現在、可能な限り ajax をサポートするようにリファクタリングしています。

フォームが送信されると、サーバーからの応答に基づいて、addClass 'error' を追加し、スパンのテキストを設定する必要があります。これを示すために、jsfiddle ( http://jsfiddle.net/kinjal/ja9gA/35/ ) を作成しました。

登録ボタンを繰り返しクリックすると、メールやパスワードの div がランダムに点灯します。これは機能しています...少なくとも機能しているようです。ランダムな部分は、サーバーへの送信とそこからのエラーの受信をシミュレートすることです。

コードの構造は次のとおりです。

clear the state (remove error class, reset help text, hide help)
send data to server
if any errors show the errors (add error class, add help text, show help)

ここでの問題の 1 つは、フィールドの数が増えると、このコードが長くなるということです。

他に何か問題はありますか?また、これを行うためのより良い方法はありますか?

提案には、解析/処理を容易にするために、サーバーからの応答の形式を含めることができます。

4

1 に答える 1

0

あなたがしていることにはjquery validateを使用することを強くお勧めします。コードのフィールドが多いほど、現在の処理方法が乱雑になる可能性があると言うのは正しいです。

jquery validate を含めたら、クラス名に基づいてルールを追加するだけです。たとえば、あなたが持つことができます。

<input name="email" class="required" />

送信ボタンで、サーバーに送信する前に、単純にフォームが有効かどうかを確認できます

if($('#registerform').valid()) //returns true/false

jquery validateには、いくつかの基本的な検証方法が付属しています(電子メールの検証はその1つです)

あなたができるように

<input name="email" class="required email" />

これにより、フィールドが空白ではなく、サーバーに送信する前に有効な電子メール アドレスであることを確認できます。

さらにカスタム メソッドを作成する必要がある場合は、クラスに基づいてさらに検証を追加するオプションがあります。

パスワードの強度の場合、jquery validate にもそれを処理する追加できるメソッドがあるようです

于 2012-08-11T08:15:35.400 に答える