2012-05-03 15 views
1

jqueryとJS関数を使ってフォームを検証し、そのフィールドが空であるかパスワードが6文字未満で、そのようなものがあるかどうかを確認し、誰かがJSを無効にした場合、これらの関数は役に立ちませんPHPを使ってより良いフォームを作成することはできません。私のウェブサイトに侮辱を与える可能性があるので、今は避けてください。ウェブサイトでjavascriptやjqueryを使用しないでください。

+0

[JavaScript:クライアント側とサーバー側の検証]の複製(http://stackoverflow.com/questions/162159/javascript-client-side-vs-server-side-validation) –

+0

JSの検証クライアント側のフォームでは不十分です。サーバー側のサーバーに対してクライアントから送信された値もチェックする必要があります。例えば、これは適切なPHPです。 – kapand

答えて

7

JavaScriptは、サーバー上で行われたリクエストの数を減らすとともに、ユーザーとのやりとりを改善するのに非常に役立ちます。しかし、あなたが指摘したように、それは無効にすることができます。あなたの質問に答えるには:いいえ、私はJavaScriptの使用を避けることをお勧めしませんが、キーは検証のような重要なアクションには頼るものではありません。クライアント(JavaScript)側とサーバー(PHP)側の両方で検証を実装したいと思うでしょう。これにより、ユーザーが検証を完全に無効にする方法がないことが保証されます。要するに

  • はJavaScript =良い
  • JavaScriptの検証= =ユーザー、ではなく、信頼性の高い
  • サーバー側の検証のためのニースエッセンシャル

サイドノート:

JavaScr他の答えが示唆しているように、全体的なユーザーインタラクションのためには、JavaScriptを使用して全体的なエクスペリエンスを向上させますが、オンにしたユーザーには依存しません。私はProgressive Enhancementの読書時間を少しお勧めします。これは、より信頼できるものを作るアプローチです.JavaScript(CSS3など)以上のものにも適用できます。

+0

「サーバー側の検証=必須」を意味しますか? –

+0

haha​​はい私はしました、ありがとうございます。 – Richard

2

サイトの機能を拡張するには、javascriptとjQueryを使用する必要があります。誰かがJavaScriptをオフにしている場合は、サイトがまだ機能していることを確認してください。遷移や効果など、見えないものがあるかもしれませんが、すべての領域にアクセスできます。

検証に関して、常にはサーバー側を検証する必要があります。クライアント側の検証はオプションですが、訪問者のユーザーエクスペリエンスを向上させる非常に優れた機能です。

+0

しかし私のウェブサイトは、JSを無効にして.fadeIn()と.fadeOut()に多く依存しています。これらの関数はうまく動作せず、多くのコンテンツが届くでしょう。 –

+0

UIのjavascriptに頼っているあなたのアプローチを再考するか、Webサイト上の明白な位置にメッセージを表示して、あなたのウェブサイトが正しく機能するためにJavaScriptが必要であることを説明する必要があります。 –

+0

私は

1

あなたのウェブサイトにJSとjQueryを使用してない避ける必要がありますが、あなたは、検証目的やビジネスロジックの目的のためにそれらを使用してを避ける必要があります。これらはUIレベルではなく、Webサイトのバックエンドで行う必要があります。

0

あなたは本当にそれらを避けるべきではありません。クライアントとサーバーの両方の検証を実装する必要があります。ちょうどあなたが言及した理由のために、クライアントの検証に依存しないでください。データがサーバーに到着すると、常にデータを検証する必要があります。

クライアント側の検証を追加すると、ページに動的なルック・アンド・フィールが与えられます。ユーザーは、フォームがサーバーに戻るのを待つ必要はなく、エラーが戻ってくる場合もあります。ポストバックなしで自動的に検証されます。

私が上記のように、クライアント側の検証に頼らないでください。常にサーバー側の検証も実装します。

0

私の友人を覚えておいてください。Javaスクリプトはクライアント側のスクリプトです。オーバーヘッドを避けることができるようにクライアント側でフォームを検証するその目的...クライアント側でJavaスクリプトを使用する必要があります。なぜなら、PHpはサーバー側の言語だからです。返信には時間がかかります。

ハ、サーバー側の検証も同様に重要です。それをやりたければ、サーバー側の言語を使うことができます。あなたは、私のポストへのコメントをハーフでチェックすることができます。サーバー側の検証は、セキュリティなどの目的で重要です。

これは、誰かがjsを無効にしたのとは異なることです。あなたは同じものを確認し、有効にするための適切なメッセージを与えることができます。ユーザーエクスペリエンスを向上させるためにはJavaScriptを使用して -

+0

いいえ、「Javaスクリプトのみ」を使用しないでください。サーバー側の検証を避けるための推奨事項です。セキュリティリスク、データベースエラー、致命的なスクリプトエラーなどが発生します。 – halfer

+0

@ halfer-クライアント側の検証...あなたのコメントが本当にありがたいです。サーバー側の検証も同様に重要です。 – Vicky

+1

あなたの投稿を編集するのがいいかもしれないので、 ':)'と明記してください。 – halfer

0

検証は常に

  • クライアント側で起こるべき。
  • サーバーサイド - あなたは防御的プログラミングの練習の一環として、SOA/Web APIを、次のされている場合 - セキュリティ上の理由から
  • サービス側のための優先サーバーサイドのプログラミング言語を使用して。これは、サービスレベルとともにDBレベルで行うこともできます。
1

私はこれを苦情として、より多くの観察を意味するものではありません。

Webデベロッパーは、JavaScriptのライブラリを最新の光沢のある玩具として利用することがよくあります。データガバナンス担当者として、私は定期的に収集したデータを監査し、Javascriptの検証を通過したユーザーを見つけたときに悪いニュースを受け取っています。

「戻ってからもう一度」。

Javascriptライブラリは、データの表示には最適ですが、データ検証やユーザープロファイルの整合性に頼るべきではありません。

関連する問題