- - PR -
テキストボックスのプロパティ設定(MaxLengthなど)
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-02-12 09:16
TextBoxにRowsを2以上を指定し、実行する。表示されたIEで「ソースを表示」。
HTMLにTextBoxはない。input type=text か、 textarea属性として出力される。 ASP.NETにHTMLの知識は必須。HTMLの勉強もしましょう。 > あきらめてJavaScriptを使った方が良いのでしょうか。 JavaScriptをOFF1にされたり、表示されたページを保存後、value属性に最大値を超える値を設定してから送信されたら意味がない。サーバ側でチェックすること。 _________________ | ||||
|
投稿日時: 2005-02-12 11:07
そういう意味やったんですか、わかりました。
HTMLコントロールの話かと・・ >Jittaさん JavaScriptは使用してよいという仕様になっているので使うことに特に問題はないです。 サーバー側でチェックするというと、 入力された文字をカウントして 制限値以上なら処理を中断という形になるのでしょうか。 string txtValue = ""; txtValue =TextBox1.Text; if (txtValue.Length >120) { //(エラーメッセージを表示) return; } 同じ処理をJavaScriptでクライアント側にさせればよいのですね。 [ メッセージ編集済み 編集者: なっちゃん 編集日時 2005-02-12 11:09 ] [ メッセージ編集済み 編集者: なっちゃん 編集日時 2005-02-12 11:12 ] | ||||
|
投稿日時: 2005-02-12 11:17
>甕星さん
確かに、MaxLengthプロパティについて、Helpに --------------------------------------------------------- メモ このプロパティは、 TextMode プロパティが TextBoxMode.SingleLine または TextBoxMode.Password に設定されている場合にだけ適用できます。 ---------------------------------------------------------- とありますね。 ありがとうございます。 | ||||
|
投稿日時: 2005-02-12 11:39
そういう問題ではなく、クライアントがOffにしている可能性は否定できないのでサーバでもチェックしましょうということです。 そもそも、単一行で MaxLength が設定されていたとしてもサーバでチェックすべきです。 で、チェックを楽に行うには RegularExpressionValidator がお勧めです。改行文字の扱いがちょっと面倒かもしれませんが。 | ||||
|
投稿日時: 2005-02-12 12:02
>にしざきさん
引用: そういう問題ではなく、クライアントがOffにしている可能性は否定できないのでサーバでもチェックしましょうということです。 そもそも、単一行で MaxLength が設定されていたとしてもサーバでチェックすべきです。 納得いたしました。 大体においては クライアント側とサーバー側でチェックは行っていたのですが、そういう理由もあったんですね。 ありがとうございました。 | ||||
|
投稿日時: 2005-02-13 09:27
セキュリティも勉強しましょう。Webアプリケーションって、むちゃくちゃ難しいのよ。。。
JavaScriptをOFFにされる、だけでなく、いったんページを保存し、スクリプトをすべて削除して、もう一度表示し、任意の値を入力して、サブミットされたら、クライアントでのチェックなんて意味無いですよ。 データはデータだけでクラスを作り、プロパティのセットアクセッサーでチェックするようにすると、冗長になる可能性を減らせます。 _________________ | ||||
|
投稿日時: 2005-02-13 11:17
セキュリティの観点からサーバ側で値チェックするのは当然ですが、
ユーザビリティの観点からクライアント側でのJavaScriptなどでの値チェックも併せて行うのは有意義だと思いますが。 //いや、皆さん分かっていらっしゃると思いますが、 //なんかサーバでチェックさえしておけばOK、みたいな流れですので。 | ||||
|
投稿日時: 2005-02-15 16:01
はい。 難しいなあと痛感する日々です・・。
>Jittaさん >Hongliang ありがとうございます。 |