4

ASP.NET MVC 3 で JavaScript と C# の重複した検証コードを回避するにはどうすればよいですか?

カスタマイズされた検証が必要な場合、ASP.NET MVC 3 を使用すると、C# と JavaScript で重複する検証ロジックを回避できますか? 私が話している種類の複製の例については、ブログ投稿http://haacked.com/archive/2009/11/19/aspnetmvc2-custom-validation.aspxと、「Ali Nov 20 によって追加されたコメント」を参照してください。 , 2009 12:19 AM"、つまり C# の if ステートメント "if(cents < 0.99 || cents >= 0.995) {" は、JavaScript コードにも同様に存在します。

まだ(ASP.NET MVC 3で)検証ロジックを一度だけ定義することはできませんか? たとえば、検証メタデータ モデルを定義する C# コードを記述できるはずだと思います。そのようなモデルを C# コードで使用したり、JavaScript コードを自動的に生成したりすることもできますか?

MVC 3 フレームワーク自体でまだサポートされていない場合、JavaScript 検証を複製せずに生成するために使用できる外部検証ライブラリはありますか?

たとえば、フレームワークhttp://fluentvalidation.codeplex.com/ またはhttp://specexpress.codeplex.com/のいずれか が実際にクライアント検証コードの自動生成をサポートしている場合、誰かがその方法を説明するリンクを提供できますか?それを使用して、手動で (C# と Javascript を使用して) 検証コードを複製することなく、すべてのピースをまとめますか?

場合によってのみプロパティを検証できるコンテキスト検証 (つまり、プロパティがすべてのコンテキストで常に必要であるかのようにハードコードされた属性 "[Required]" を使用しない) または異なる検証ルール (他のプロパティの値に応じて)。たとえば、国のドロップダウン リストと州のドロップダウン リストがあるとします。実際に州がある国を選択した場合、検証では州も選択する必要がありますが、州を持たない他の国では検証を適用しないでください。クライアント側とサーバー側の両方で機能するこのような検証を、手動で実装する必要があるできるだけ少ない JavaScript コード (つまり、

4

1 に答える 1

0

jQuery.validate を使用すると、重複を 1 つの関数 (実際の検証チェック) に減らすことができます。2 つのプロパティが等しくないかどうかを確認する方法の例を次に示します。基本的には、探している「他のプロパティの値に依存する」例です。

http://www.devtrends.co.uk/blog/the-complete-guide-to-validation-in-asp.net-mvc-3-part-2

于 2014-07-21T19:30:29.270 に答える