- PR -

テキストボックスのプロパティ設定(MaxLengthなど)

投稿者投稿内容
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 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/11
投稿数: 21
投稿日時: 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/11
投稿数: 21
投稿日時: 2005-02-12 11:17
>甕星さん

確かに、MaxLengthプロパティについて、Helpに

---------------------------------------------------------

メモ このプロパティは、 TextMode プロパティが TextBoxMode.SingleLine または TextBoxMode.Password に設定されている場合にだけ適用できます。
----------------------------------------------------------

とありますね。 
ありがとうございます。
にしざき
ぬし
会議室デビュー日: 2003/06/30
投稿数: 304
投稿日時: 2005-02-12 11:39
引用:

なっちゃんさんの書き込み (2005-02-12 11:07) より:
JavaScriptは使用してよいという仕様になっているので使うことに特に問題はない


そういう問題ではなく、クライアントがOffにしている可能性は否定できないのでサーバでもチェックしましょうということです。
そもそも、単一行で MaxLength が設定されていたとしてもサーバでチェックすべきです。
で、チェックを楽に行うには RegularExpressionValidator がお勧めです。改行文字の扱いがちょっと面倒かもしれませんが。
なっちゃん
常連さん
会議室デビュー日: 2005/02/11
投稿数: 21
投稿日時: 2005-02-12 12:02
>にしざきさん

引用:
そういう問題ではなく、クライアントがOffにしている可能性は否定できないのでサーバでもチェックしましょうということです。
そもそも、単一行で MaxLength が設定されていたとしてもサーバでチェックすべきです。


納得いたしました。
大体においては クライアント側とサーバー側でチェックは行っていたのですが、そういう理由もあったんですね。
ありがとうございました。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2005-02-13 09:27
 セキュリティも勉強しましょう。Webアプリケーションって、むちゃくちゃ難しいのよ。。。

 JavaScriptをOFFにされる、だけでなく、いったんページを保存し、スクリプトをすべて削除して、もう一度表示し、任意の値を入力して、サブミットされたら、クライアントでのチェックなんて意味無いですよ。

 データはデータだけでクラスを作り、プロパティのセットアクセッサーでチェックするようにすると、冗長になる可能性を減らせます。
_________________
Hongliang
ぬし
会議室デビュー日: 2004/12/25
投稿数: 576
投稿日時: 2005-02-13 11:17
セキュリティの観点からサーバ側で値チェックするのは当然ですが、
ユーザビリティの観点からクライアント側でのJavaScriptなどでの値チェックも併せて行うのは有意義だと思いますが。

//いや、皆さん分かっていらっしゃると思いますが、
//なんかサーバでチェックさえしておけばOK、みたいな流れですので。
なっちゃん
常連さん
会議室デビュー日: 2005/02/11
投稿数: 21
投稿日時: 2005-02-15 16:01
はい。 難しいなあと痛感する日々です・・。

>Jittaさん
>Hongliang

ありがとうございます。

スキルアップ/キャリアアップ(JOB@IT)