- - PR -
SetFocusについて
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-11-15 13:32
SetFocusについて質問させて頂きます。
<前提> 言語:ASP.NET 2.0 (VB.NET) 環境:VisualStudio2005 <要件> 画面上のボタンを押下したときに、テキストボックス入力値を文字種チェックし、エラーの場合は当該テキストボックスにフォーカスを設定する。 但し、検証は(サーバではなく)クライアントにて行う。 <ご質問> どのようにすれば、上記要件を実現できますでしょうか。 <現状> 検証コントロールRegularExpressionValidatorで文字種チェックを実装。 この時、SetFocusOnErrorにTRUEを設定すると、ボタン押下時ではなく、検証対象のテキストボックスのLostFocus時にチェックが走ってしまう。 ↓ 検証コントロールRegularExpressionValidatorでの文字種チェックは実装したまま、SetFocusOnErrorにFALSEを設定。 ボタンのOnClientClickプロパティを用い、クライアントでSetFocusのロジックのみ実装。 この場合は、検証コントロールのクライアントでのチェックが走らず、よってSetFocusのロジックも通り過ぎ、サーバでのチェックとなってしまう。 ↓ 検証コントロールを使用する以上、上記要件は実現不可!? ↓ そんなわけないような気がする・・・。 以上、宜しくお願い申し上げます。 | ||||||||
|
投稿日時: 2006-11-16 06:28
LostFocus時にエラーがチェックされるのは検証コントロールの仕様なのでは? 個人的には現状の仕様の方が、エンドユーザーにとって使い勝手がよいように思いますが。 コントロールのフォーカス喪失時にエラーを検出してメッセージを表示する。そして、ボタンをクリックしたときにValidationSummaryでエラーのサマリーを表示する。 このときエラーが発生したコントロールにフォーカスを移動する。 私はこんな仕様で検証コントロールを組み込んでいます。 _________________ ASP.NET+Ajaxサンプル集 [ メッセージ編集済み 編集者: Access 編集日時 2006-11-16 07:51 ] | ||||||||
|
投稿日時: 2006-11-16 10:35
試してないけど、明示的にValidationGroupを設定するとどう動くだろ?
#あとで時間ができれば試すけど。 | ||||||||
|
投稿日時: 2006-11-16 20:51
Validator の focusOnError が "t" に設定されていると、
エラーを検知後該当コントロールをフォーカスしてくれるので、 こんな風にしてみた。
画面の Validator をまわしてあげればページでできるかな。 _________________ かるあ のメモ と スニペット | ||||||||
|
投稿日時: 2006-11-16 21:12
こんなんかな?
うーん、やめといたほうがいいか? _________________ かるあ のメモ http://karua.at.webry.info/ [ メッセージ編集済み 編集者: かるあ 編集日時 2006-11-16 22:53 ] | ||||||||
|
投稿日時: 2006-11-22 11:07
かるあさん、ご回答ありがとうございます。
入力チェックを後回しとして、ビジネスロジックの実装を行っておりましたので、確認ならびにお礼が遅くなりましたこと、お詫び申し上げます。 さて、返信頂いた内容ですが、どうもうまくいきません。 何か、前提が違うのでしょうか。 こちらの実装は、以下の通りです。(関連すると思われる部分を抽出してみます。) <テキストボックス> CausesValidator = False <検証コントロール> SetFocusOnError = False ValidationGroup = valGrp <ボタン> CausesValidator = True ValidationGroup = valGrp 以上、ご回答頂けると幸いです。 また、 >うーん、やめといたほうがいいか? とおっしゃっているのはなぜでしょうか? 宜しくお願い致します。 | ||||||||
|
投稿日時: 2006-11-22 11:12
ごめんなさい、今環境が無いのでアドバイスだけ 最小の環境(テキストボックスとボタンとバリデーターだけ)で試してみてはどうでしょうか
ASP.NET 側で明示的にそういう機能を提供していないから、 将来的に使えなくなるかも知れないしどこかに副作用があるかも。 _________________ かるあ のメモ と スニペット | ||||||||
|
投稿日時: 2006-11-22 11:23
かるあさん、素早いご回答ありがとうございます!
「最小の環境」で実験した結果です。。。 もう少し、いろいろいじってみたいと思います。 あと、「副作用の可能性」の件、認識しました。 しかしながら、他に手段がないのなら。。。 要件からもう一度考えて(お伺いを立てて)みます。 今後とも宜しくお願い致します。 |