クライアント側とサーバー側の検証ルールの同期を維持する簡単でスマートな方法はありますか?
クライアント側には JavaScript があり、おそらく jQuery や YUI のような何らかのフレームワークです。
サーバー側には、ASP.NET WebForms または ASP.NET MVC があります。
検証されるのは、次のようなものです。
- メールアドレスを修正する
- 自宅の住所と郵便番号を修正する
- 正しいクレジット カード番号
等々。
クライアント側とサーバー側の検証ルールの同期を維持する簡単でスマートな方法はありますか?
クライアント側には JavaScript があり、おそらく jQuery や YUI のような何らかのフレームワークです。
サーバー側には、ASP.NET WebForms または ASP.NET MVC があります。
検証されるのは、次のようなものです。
等々。
<asp:RegularExpressionValidator ...> (およびその他の asp.net バリデーター) は、クライアント側の JavaScript とサーバー側のチェックを同じルールに実装します。
検証ルールを具現化する大規模で共通のテスト データのコーパスを作成し、この共通データに対してバリデーターを単体テストします。
ルールが変更された場合は、テスト データを更新し、すべてが再び緑色になるまでテストすることで、これを反映します。
私は常に組み込みのバリデーターを使用してきました。たとえば、RegularExpressionValidator を使用して ValidationExpression を指定すると、クライアント側 (利用可能な場合) とサーバー側で同じコードを使用して検証されます。
BaseValidatior から派生させることで、独自のカスタム バリデータを作成できます。これを行うと、EvaluteIsValid をオーバーライドしてサーバー検証を作成できます。必要に応じて、後でクライアント検証を追加できます。
xVALは Enterprise Library Validation よりもかなり簡単で、クライアントとサーバーの両方のモデルにバインドされた検証を処理します。
これは実際のソリューションではありませんが、CodePlexのAxial プロジェクトを確認してください。C# を Web 用の Javascript に変換するプロジェクトで、サーバー側の検証とクライアント側の検証に同じコードを使用できるようにするコントロールを備えています。生産の準備ができていませんが、これがあなたが探しているものかどうかを知りたいです.