皆様こんにちは、宜しくお願い致します。
現在、ASP.NET2.0で業務用Webアプリを開発しています。
入力フォームサブミット時の入力チェックについてですが、
Validatorコントロール含むサーバサイドのみでは不十分
なのでしょうか?
職場では、PerlやASP案件はJavascriptを使用してクライアント
サイドとサーバサイドで同様の入力チェックを実装しておりますが、
特に仕様や規約で決まっている訳ではない為、実装理由を上司に
尋ねると「まぁ念の為にね」という回答でした。
その為、今回も念の為にクライアントサイドの入力チェックも
実装しようという事ですが、私としましては工数が増えるだけで
同様のチェックを両サイドで行うメリットが分かりません。
職場は小さい会社で、初めてのASP.NET案件の為、他に経験者が
おらず困っています。
ケースバイケース、という事もあるかと思いますが、ASP.NET
もしくはWebアプリ開発の一つの手法として、経験者様からの
アドバイスを頂戴致したく、宜しくお願い致します。
No.1
- 回答日時:
レスポンスの低下を防ぐために クライアント側でチェックするといった手法はありでしょう
ただ、クライアント側でJavaScriptを無効にしている場合
予期しないデータをサーバー側へ送ってしまいます
これの対処としてサーバー側でのチェックも必要になってくるかと思います
前提条件に『JavaScriptの実行』や『直接ASPXファイルの実行の禁止』などがあるならクライアント側のチェックだけでもいいかもしれません
お返事遅れまして申し訳ありません。
早速のご回答、ありがとうございました。
確かにレスポンスを考慮した場合は必要かもしれませんね。
Javascriptは無効にされるケースも考えられる訳ですし、
そんな不確定要素の為に実装するのもどうかと考えて
いた次第です。
とても参考になりました、ありがとうございました。
No.2
- 回答日時:
セキュリティを考えると、サーバ側バリデーションは必須です。
クライアント側でも行うのは、過去にユーザから操作性について何らかの要望があった結果、行うことに統一されたのではないでしょうか。
コードの依存性が分かりにくく、エラーメッセージの扱いも煩雑になるので通常ASP.NETでは実施しないと思います。
ご回答ありがとうございました。
私もサーバサイドのバリデーションは必須であると思います。
mdp36様はクライアントサイドのチェックは実施しない、という
お考えなんですね。
既成システムへの実装理由については、もう少し詳しく聞いて
みる事にします。「念の為」って何の為だよって感じですが(笑)
貴重なご意見ありがとうございました。
No.3ベストアンサー
- 回答日時:
サーバ側の入力値チェックは必須かつ入念に行うべきですが、クライアント側のそれは、入念である必要はないでしょう。
個人的には、クライアント側のチェックは使い勝手のひとつと見なしています。
どんな環境でも、サーバのチェックー>クライアントへの画面返信は時間が掛かります。ユーザとしては「送信」ボタンを押したら即座に結果を知りたいところです。
たとえば、必須欄を空欄のまま送信ボタンを押したら、クライアント側で即座に入力を促すメッセージを出した方がユーザにとってはうれしいはずです。
状況によりますが、「こんな簡単なことをいちいちサーバに聞きに行くのか?」とユーザに思われない程度にチェックすればよいのではないでしょうか?
ご回答頂きましてありがとうございました。
具体的なケースを挙げてアドバイスを頂けると、とても
参考になります、ありがとうございます。
No.2様も仰っていましたが、使い勝手、操作性の面から
考えると、このようなケースでは確かにユーザにとって
メリットがありますね。
ユーザに一度確認してみて、明確な取り決めは必要なし、
と言う事であればプラスアルファで実装するのがいいのかも
しれません。
とても参考になりました。ご意見ありがとうございました。
お探しの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ランキング
-
処理終了後、他のプログラムへP...
-
NetworkStreamからのRead()で、...
-
画面を隠す・消す方法を教えて...
-
三菱GOTの画面切り替えについて
-
フォーム上で押されたボタンに...
-
リクエストに応じたselectedの...
-
VB6 開発環境のエディタに行...
-
画像の縦横比固定の計算方法。
-
ASP.NET 画面遷移前の状態を保...
-
ラジオボタンの選択肢をサーブ...
-
JSPからJSPへ情報を渡せる?
-
プログラミングで例えばゲーム...
-
グローバルIPアドレスの変更タ...
-
Java-jspの画面入力値保持について
-
jspからServletを呼び、元のjsp...
-
ボタンが活性化の場合とは、ボ...
-
VB.NET DataReaderが開かれている
-
BSプレミアムとかの青ボタンが...
-
ボタンを押したあとに画像を表...
-
VBAでTIFF画像を読み込むには?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
NetworkStreamからのRead()で、...
-
ASPでDLLの呼び出し
-
ASPとCGIの違い
-
CPUを2つ搭載するといいのです...
-
IIS+VBScriptでの処理待ちについて
-
<%@ language="VBScript" %>
-
Perlで処理の進行状況をユ...
-
Webサービスについて(基になる...
-
一定時間でPostBackさせたい(A...
-
Socket通信で、通信終了のイベ...
-
画面サイズ取得について
-
RedirectとTransferの違い
-
処理終了後、他のプログラムへP...
-
ハウスキープ処理について
-
VC++のHTTP通信
-
ASP.NET MVCのAjaxフォーム検証
-
別のサーバにリクエストを飛ば...
-
3層クライアントサーバとMVCの関係
-
PerlからDB接続し、データ登録...
-
EUCの意味を教えて頂けませんか?
おすすめ情報