0

送信ボタンをクリックしたときに JavaScript でフォーム データを検証し、その後サーバー側 C# で送信されたデータを検証する必要があるとずっと考えていました。

しかし、おそらくJavaScriptでフォームデータを検証する必要はないと思いますか? Ajax のおかげでページがリロードされないため、ユーザーにとっては JavaScript からのエラー メッセージと C# からのエラー メッセージに違いはありません。

変な考え方??

4

4 に答える 4

7

常にサーバー側で検証を実装してください。次に、クライアント側の検証について考える前に、この検証が機能することを確認してください。その理由は、多くの人が最初にクライアント側の検証を実装してから、何かを検証していると考えてサーバー側の検証を忘れているのを見てきたことです。クライアント側の検証は、実際には検証と見なされるべきではありません。これは、ユーザー エクスペリエンスを向上させ (ユーザーはフォーム全体を送信しなくてもすぐにフィードバックを得ることができます)、帯域幅を節約できるものと見なされるべきです。したがって、この追加機能が必要な場合は、先に進んでクライアント側の検証を実装してください。

于 2012-05-09T16:37:27.390 に答える
7

常にサーバー側を検証する必要があります。

使いやすさを向上させるために、クライアント側の検証はオプションです。

于 2012-05-09T16:37:44.813 に答える
1

一般に、サーバー側とクライアント側の両方で検証を実装することをお勧めします (サーバー側の検証のみが必須であっても)。

その理由は、誰かがクライアント側の検証を通過してドメインの整合性を損なう可能性があるためです。

クライアント側の検証は、検証がクライアント側で失敗した場合でもサーバーへのラウンドトリップを防ぐためにとにかく役立ちます

于 2012-05-09T16:36:48.013 に答える
1

1つだけ行う必要がある場合は、サーバー側が確実に適しています。

Ajax は、ページが投稿されていないという「錯覚」をユーザーに与えますが、サイトへの HTTP トラフィックを生成しているため、ホスティングの状況によっては、不要なコストが追加され、Web サーバーに負荷がかかる可能性があります。

私の0.02セント?現在、優れた JS ライブラリがすべて存在するため、クライアント側の検証を実装しない正当な理由はありません。

于 2012-05-09T16:40:54.733 に答える