web-dev-qa-db-ja.com

javascriptとphpを使用したフォームの検証

ユーザーがJavaScriptのサポートをオフにしている可能性があるため、PHPを使用する必要があるのに、フォームの検証にJavaScriptを使用する必要があるのはなぜですか。

不要ではないですか?

更新:

回答ありがとうございます。クライアント側にもあるのは良い考えのように思えます。良いJavaScript検証はどこでダウンロードできますか?

アカウントを登録するときに、yahooでそのような検証スクリプトをダウンロードできる場所を知っていますか?

22
ajsie

常にサーバー側でPHPで検証する必要があり、JavaScriptでの検証は、ユーザーの利便性のためのクライアント側の検証です。クライアントユーザーでの検証のおかげで、ページの再読み込みなしでフォームにエラーが見つかる場合があります。データスクリプトの検証なしでフォームデータを送信したため(たとえば、WebブラウザーでJSをサポートしていない可能性があります)、常にサーバー側で検証します。

7
doc

フレームワークを使用して、サーバー側とクライアント側の統合検証を使用することをお勧めします。これは、クライアント側では有効であるがサーバーによって拒否されるデータ、またはその逆(クライアント側の制限が厳しすぎる)にユーザーが直面することを回避できるためです。次のフレームワークのリストは、サーバー/クライアント側の検証に関する情報を提供します。 http://en.wikipedia.org/wiki/Comparison_of_web_application_frameworks

3
snowflake

...ユーザーへの礼儀として。時々人間のことをするだけの普通のユーザーの生活を楽にします。

3
vector

はい、クライアント側とサーバー側の両方からのユーザー入力値を検証することをお勧めします。

場合によっては、クライアントがJavaScriptまたはJavaScriptを使用しないモバイルブラウザを無効にしました。スパマーもいることを忘れないでください。

1
mahesh

フォーム(およびWebサイト全体)をインタラクティブでユーザーフレンドリーにするかどうかが問題になります。サーバー側に検証を行わせてエラーをユーザーに返すこともできますが、フォームを送信する前にユーザーに警告するよりもインタラクティブ性が低く、ユーザーフレンドリーではありません(ただし、サーバーで入力を検証する必要があります) -何があってもサイド)。ちょうど私の2セント:P

1
Lukman

私の考えでは、セキュリティのため、フォーム入力のクライアント側チェックのみが機能しません。ユーザーパスワードを確認したいとします( "yourpwd" == userinputの場合)。jsを使用すると、ブラウザのソースコードにあるため、ユーザーにパスワードが表示されます。phpを使用すると、phpが何らかの理由で非表示になっているため、表示されません。

0
Timo

クライアント側にはJavascriptを使用し、サーバー側にはPhpを使用することをお勧めします。これにより、ユーザーが間違ったデータを送信した場合に、対話またはユーザーフレンドリーなサイトでページの再読み込みを何度も減らすことができます。

0
Lacksinho