-2

JS/jQueryを使用してオンザフライで生成されるいくつかのフィールドを持つ複雑なフォームがあります。

この世代のオンザフライの問題は、サーバー側でこのフィールドを検証するのが複雑なことです。JSによって生成されたフォームと値を保存してサーバー側で検証するか、クライアント側ですべてを検証するなどの別のアプローチを使用するかはわかりません(簡単だと思います)。

  • 私の質問1は、JSを使用してすべての検証を行うことは可能ですか?このタスクで私を助けるいくつかのJS検証フレームワークがありますか?私はゴーグルしてLiveValidation(www.livevalidation.com)を見つけましたが、これは私が必要としているものですか?

  • 質問2:この種のアプローチ(すべてクライアント側のvalidata)を使用するとどのような問題が発生しますか?

いくつかの手がかり、考え?

よろしくお願いします、

4

3 に答える 3

1

はい、すべてのクライアント検証をバイパスできるダークサイドを除いて、クライアント側ですべての検証を行うことは非常に可能です。検証を実行するための優れた簡単なプラグインはJquery Validate Pluginです

于 2013-02-06T11:24:34.150 に答える
1

クライアント側での検証は、単に UX の目的 (速度、使いやすさ、使いやすさ、迅速な応答など) のためであり、実際の検証のためではありません。JS 検証は簡単に回避できます。フォームを使用せずにサーバーにデータを送信することもできるため、クライアント側を完全にスキップできます。

セキュリティ上の理由から、サーバーは検証を行う必要があります。検証ロジックは、フォームの動的な性質に適応する必要があります。

私の知る限り、動的フォームは通常、この PHP のような配列フォームを使用します。そうすれば、サーバー側の動的フォーム、特にフィールドのグループが繰り返される動的フォームを簡単に調べることができます。

于 2013-02-06T11:25:24.540 に答える
1

アンドレ、私たちはいつもそうしています。Javascript 検証は重要なポイントであり、送信が発生する前に実行する必要があります。主な理由は次のとおりです。

  • サイト/ページをユーザーフレンドリーにする
  • Firebug、Chrome... のおかげで、JS 検証は簡単にバイパスできるため (そのため、サーバー側で常に別のチェック ラウンドが必要です)、データがサーバーに送信される前に実際にチェック、検証、修正しないでください。コマンド ライン ツールの束。

たとえば、JS 検証を使用して

  • ユーザーがすべての必須フィールドに入力したことを確認し、不足しているフィールド (フォーカス) をポイントします。
  • 入力されたデータのタイプをチェックし、ユーザーに警告します
  • フィールドの一貫性を確保する (カード番号、生年月日、fieldX と fieldY...)
  • ...

その上、最後の質問に答えて、答えの冒頭を言い換える(害はありません)

  • JS 検証は、サーバーに送信されたデータがクリーン/ソリッド/一貫性があることを保証しません (JS 検証は簡単にバイパスできるため、保証できません)。
  • サーバーは、すべてのフィールドに対して同じ検証 (またはより強力な検証) を実行する必要があり、ユーザー入力を信頼することはありません (SQL インジェクションのリスクなど...)。
于 2013-02-06T11:43:59.610 に答える