初めまして
本記事が初めての投稿となります。
私が実際に経験している怖い話です。
客先勤務にて、派遣エンジニアをしています。
客先常駐のPMに
PM「よし、○○君。未経験だったね。WEBアプリの開発をお願いします。」
私「はい。」
HTML、CSS、JavaScriptを使いつつ何とかサイトを作っていく過程で、
私「PM、JavaScriptで入力制限を作ってみました。」
PM「そう、○○君」
ここで、驚きの発言!
PM「JavaScript使わなくていいんじゃない? 他の人もわからないだろうし......」
私は、この時WEBアプリ開発が未経験であったためか、よくわからないのか......
使わないようにしないとな......と思ってしまったのだが、大いに問題のある発言である!
私の認識です。
HTML:Hyper Text Markup Languageは、「文章自体を修飾することができる記法」
CSS:Cascading Stye Sheetsは、「デザインに統一性を持たせることができ、位置調整を毎回せずに済む便利」
当時
JavaScript「動き(Dynamic)を出すためのもの?」
現在の私の指摘
JavaScript「AutoPostback(オートポストバック)を起こさず、frontEnd(フロントエンド)で、入力制限ができる。」
AutoPostbackの前に、
Postback(ポストバック)に関して、WEBアプリケーションでは、
私たちが使用しているSafari(サファリ)やEdge(エッジ)、Google Chrome(グーグルクローム)といった――WEBブラウザといいます――経由で、サーバにあるデータへアクセスをしています。
Postbackとは、まず、私たちが、コントロールの一種であるButton(ボタン)なんかをクリックした際に、Event(イベント)を起こします。
そして、ネットワーク経由でServer(サーバ)へAccess(アクセス)して、このButtonが押されました。その際に、TextBox(テキストボックス)に「ABCDE」と入力されています。では、その値をCheck(チェック:検証)しましょう。処理のことです。
AutoPostbackは、これを自動化していることです。例えば、先のTextBox自体にAutoPostbackを有効にすると、Buttonを押さずにやり取りが発生します。当然、Server側でも、処理のチェックが必要なわけなのですが......
今の説明で、読み取れるとよいのですが、JavaScriptでは、このPostbackを起こさずに、私たちが見えている表側で、入力エラーチェックを行うことができます。
利点の一つとして、traffic(トラフィック:ネットワークの通行量といった具合でしょうか)を圧迫せずに済みます。
付け加えますが、例え、JavaScriptで入力制限をしたからと言って、serverside(サーバサイド)の入力制御が不要という意味ではありません。
初めての投稿となりましたが、私が経験した怖ろしい話でした。