- - PR -
ASP.NETでの検証に関して
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-01-12 14:54
現在、一般公開用のサイトを構築しています。
特にOpera,Netscape,Fireboxなどメジャーなブラウザは一通り サポートしなくてはならず、ちょっと問題を抱えています。 具体的にはテキストボックス等にRequireやRegularExpression等の 検証コントロールを貼り付けて入力チェックを行っているのですが、 IEの6だとCausasValidationがtrueのボタンをクリックした際、 まず検証が行われて、検証に引っかかった際にはボタンのクリックが キャンセルされているようです。 ところがOperaやNetscape,Fireboxではこの機能がうまく働いて いないようです。 というのも、他のブラウザではボタンのクリックイベント自体が キャンセルされず、実行されるからです。 検証自体は行われるようで、ページ遷移しない場合は画面に 赤色でエラーが表示されています。 当初はターゲットが全てIE5.0以上となっていたのですが、今は2,3の ページのドキュメントプロパティのターゲットブラウザをNN4に 変更して試してみています。ですが結果は変わりません。 どなたかこのことに関する情報をお持ちの方がおられましたら 教えていただけると助かります。どうかよろしくお願いします。 | ||||
|
投稿日時: 2005-01-12 15:57
EnableClientScriptをFalseにすれば、取り合えずInternetExplorerでも、その他のブラウザでも同じ挙動になるようです・・・。と言っても、Firefox等の動きに合わせることになる訳ですが。そうして、Validaterのチェックに引っかかってもPostBackされるものと言う前提の下で作成するしか無いんじゃないかな。 この手のブラウザ毎の挙動の違いを纏めたり、IE以外のブラウザにも対応するためのTipsって何処かにまとまってないですかねぇ? _________________ 甕星 <mikahosi@abox9.so-net.ne.jp> http://blogs.msmvp.jp/mikahosi/ | ||||
|
投稿日時: 2005-01-12 16:07
ASP.NETでの検証はデフォルトではクライアント側とサーバ側で行われます。
クライアント側での検証はJScriptによって行われます。 ブラウザがIEの上位バージョンではない、と認識された時点でクライアント側の 検証が行われない(JScriptによるチェックを行わない)ようになっているのでは ないでしょうか? #未確認です。 | ||||
|
投稿日時: 2005-01-14 13:20
甕星さん、小野@どっとねっとふぁんさん情報どうもありがとうございました。
自分でもいろいろ調べてみて、英語サイトですが http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspp/html/ASPNet-JSPMig-MultiBrowserSupport.asp というものを見つけました。 この情報によると小野さんがいわれているように、ブラウザがIEでなければ クライアント側の検証が行われないようですね。 もう少し調べてみようと思います。 もし他にも情報をお持ちの方がおられましたらよければ教えてください。 |
1