0

フォームを含む多数のページを含む非常に大規模な PHP プロジェクトをリファクタリングおよび再編成するシナリオを考えてみましょう。

私はすでに非常に柔軟でコンパクトな JS 検証関数 (正規表現、カスタム式などを使用) を作成していますが、より構造化されたクリーンなアプローチのためにJQuery の検証に移行したいと考えています。

クライアント側の検証はすぐに応答し、UI に優れた感触を与えるため、優れていますが、クライアント側の検証が簡単に改ざんされる可能性があるという問題も残っているため、検証ルールも「ミラーリング」することを考えました。 PHP(サーバー)側で物事を調整します(可能であればフィルターを統合し、インジェクションやその他の悪意のある動作に対処するためにデータをサニタイズします)。

このアプローチが最善の方法だと思いますか? これを実装するための一般的な提案はありますか?

PHP のすべてのルールの書き換えを回避して、この重複を処理できる何らかのツール、フレームワーク、または PHP クラスはありますか?


そうでない場合は、ルールごとにルールを追加するメソッドとecho、JQuery 検証ミニスクリプトまたは関数を使用するメソッドを使用して、独自の PHP クラスを作成することを検討しましたが、これが良いアプローチになるかどうか、およびその使用方法がわかりません効率的。私への提案はありますか?

前もって感謝します。

4

1 に答える 1

2

以前は、サーバー側にミラーリングされた同じルールを使用して、同様のクライアント側検証を行っていました。

数年前、サーバーへの余分なヒットを気にしなかったので、クライアント側の検証を捨てることにしました。私は今、サーバー側ですべての検証を行ってから、javascript で ajax を使用して呼び出すので、ページのリロードやフォームへの入力の損失を心配する必要はありません。さらに、検証コーディングを 1/2 だけ行うこともプラスです。

私はそれを使用したことはありませんが、Yii フレームワークにはサーバー側とクライアント側の両方を行う検証クラスがあるようです http://www.yiiframework.com/doc/api/1.1/CActiveForm#enableClientValidation-detail

于 2012-06-27T02:39:56.217 に答える