皆様こんにちは、宜しくお願い致します。
現在、ASP.NET2.0で業務用Webアプリを開発しています。
入力フォームサブミット時の入力チェックについてですが、
Validatorコントロール含むサーバサイドのみでは不十分
なのでしょうか?
職場では、PerlやASP案件はJavascriptを使用してクライアント
サイドとサーバサイドで同様の入力チェックを実装しておりますが、
特に仕様や規約で決まっている訳ではない為、実装理由を上司に
尋ねると「まぁ念の為にね」という回答でした。
その為、今回も念の為にクライアントサイドの入力チェックも
実装しようという事ですが、私としましては工数が増えるだけで
同様のチェックを両サイドで行うメリットが分かりません。
職場は小さい会社で、初めてのASP.NET案件の為、他に経験者が
おらず困っています。
ケースバイケース、という事もあるかと思いますが、ASP.NET
もしくはWebアプリ開発の一つの手法として、経験者様からの
アドバイスを頂戴致したく、宜しくお願い致します。
No.3ベストアンサー
- 回答日時:
サーバ側の入力値チェックは必須かつ入念に行うべきですが、クライアント側のそれは、入念である必要はないでしょう。
個人的には、クライアント側のチェックは使い勝手のひとつと見なしています。
どんな環境でも、サーバのチェックー>クライアントへの画面返信は時間が掛かります。ユーザとしては「送信」ボタンを押したら即座に結果を知りたいところです。
たとえば、必須欄を空欄のまま送信ボタンを押したら、クライアント側で即座に入力を促すメッセージを出した方がユーザにとってはうれしいはずです。
状況によりますが、「こんな簡単なことをいちいちサーバに聞きに行くのか?」とユーザに思われない程度にチェックすればよいのではないでしょうか?
ご回答頂きましてありがとうございました。
具体的なケースを挙げてアドバイスを頂けると、とても
参考になります、ありがとうございます。
No.2様も仰っていましたが、使い勝手、操作性の面から
考えると、このようなケースでは確かにユーザにとって
メリットがありますね。
ユーザに一度確認してみて、明確な取り決めは必要なし、
と言う事であればプラスアルファで実装するのがいいのかも
しれません。
とても参考になりました。ご意見ありがとうございました。
No.2
- 回答日時:
セキュリティを考えると、サーバ側バリデーションは必須です。
クライアント側でも行うのは、過去にユーザから操作性について何らかの要望があった結果、行うことに統一されたのではないでしょうか。
コードの依存性が分かりにくく、エラーメッセージの扱いも煩雑になるので通常ASP.NETでは実施しないと思います。
ご回答ありがとうございました。
私もサーバサイドのバリデーションは必須であると思います。
mdp36様はクライアントサイドのチェックは実施しない、という
お考えなんですね。
既成システムへの実装理由については、もう少し詳しく聞いて
みる事にします。「念の為」って何の為だよって感じですが(笑)
貴重なご意見ありがとうございました。
No.1
- 回答日時:
レスポンスの低下を防ぐために クライアント側でチェックするといった手法はありでしょう
ただ、クライアント側でJavaScriptを無効にしている場合
予期しないデータをサーバー側へ送ってしまいます
これの対処としてサーバー側でのチェックも必要になってくるかと思います
前提条件に『JavaScriptの実行』や『直接ASPXファイルの実行の禁止』などがあるならクライアント側のチェックだけでもいいかもしれません
お返事遅れまして申し訳ありません。
早速のご回答、ありがとうございました。
確かにレスポンスを考慮した場合は必要かもしれませんね。
Javascriptは無効にされるケースも考えられる訳ですし、
そんな不確定要素の為に実装するのもどうかと考えて
いた次第です。
とても参考になりました、ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript ラジオボタンによるフォームの開閉を行いたい 3 2022/03/31 21:30
- UNIX・Linux bash環境でのエラー対応をお願い致します。 1 2022/11/26 17:41
- JavaScript javaScriptで画面に値を入れるには 1 2022/08/14 12:27
- IT・エンジニアリング SEとWebエンジニアの業務内容の違いについて 3 2023/06/22 23:23
- Wi-Fi・無線LAN 自宅以外の建物のwifiでパソコンでパスワードを入力してもエラー表示がされてどうしてもパソコンが利用 3 2022/10/01 07:29
- Wi-Fi・無線LAN 自分のノートパソコンにいつも通りのパスワードを入力してもエラーが表示されてパソコンが一切利用出来なく 5 2022/10/01 12:42
- その他(プログラミング・Web制作) 入力フォームへ、データを自動的に入力するプログラム。どうやって作る? 4 2023/01/16 10:24
- その他(社会・学校・職場) 業務内容についてどう思いますか? 私は客先の仕事を下請けとして行うという仕事をしていますが、(客先の 2 2022/05/04 16:17
- その他(社会・学校・職場) 業務内容についてどう思いますか? 私は客先の仕事を下請けとして行うという仕事をしていますが、(客先の 3 2022/05/04 17:55
- その他(クラウドサービス・オンラインストレージ) Onedriveで実現したい事。2台のPC間で。 2 2023/04/10 20:42
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
NetworkStreamからのRead()で、...
-
ASPでDLLの呼び出し
-
画面サイズ取得について
-
一定時間でPostBackさせたい(A...
-
ASPとCGIの違い
-
<%@ language="VBScript" %>
-
フォームで同じ複数のnameで違...
-
VB6 開発環境のエディタに行...
-
C言語で今まで表示していた画面...
-
三菱GOTの画面切り替えについて
-
漏電遮断器の黄色ボタンと白色...
-
Wi-Fiのパスワードが指定なしと...
-
ボタンが活性化の場合とは、ボ...
-
FormのsubmitでFormの内容がnull
-
int型の内容をbyteの配列にコピー
-
JSPからJSPへ情報を渡せる?
-
登録後、呼び出し元ページに戻...
-
腕時計の時報をならないように...
-
C# ログイン画面からメイン画面...
-
Java-jspの画面入力値保持について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
NetworkStreamからのRead()で、...
-
VC++のHTTP通信
-
ASPとCGIの違い
-
処理終了後、他のプログラムへP...
-
CPUを2つ搭載するといいのです...
-
Webサービスについて(基になる...
-
IIS+VBScriptでの処理待ちについて
-
別のサーバにリクエストを飛ば...
-
一定時間でPostBackさせたい(A...
-
COBOL97,Power-COBOLでの効率の...
-
画面サイズ取得について
-
Socket通信で、通信終了のイベ...
-
CGI(Perl)のメッセージボックス...
-
入力フォームの入力チェックに...
-
ASP.NET MVCのAjaxフォーム検証
-
PerlからDB接続し、データ登録...
-
サーバーの仕組みについて
-
VBでFeliCaやUSBメモリでWindow...
-
ランダムイメージの処理、JavaS...
-
ラジオボタンをクリックすると...
おすすめ情報