0

私は長い間 Windows フォームの開発者であり、Web 開発の方法を理解しようとしています。タイトルが示すように、私は ASP.NET MVC を前進させたいと確信しています。また、答えは Javascript、jQuery (および jQueryUI) の領域のどこかにあると確信していますが、これらはまだ学ぶ機会がありません。

現在の Windows アプリには、タブ コントロールを使用するフォームがあり、各タブ コントロールにはデータ入力用のコントロールがたくさんあります。したがって、以下は、(クライアント側で) 実行できる必要がある問題の種類です。

  1. たとえば、フォーム上のコントロールのサブセットの 1 つ以上が必須であることを条件付きで要求します。したがって、たとえば、ドロップダウン ボックスで特定の値が選択されているため、1 つまたは複数のコントロールを入力する必要がある上記のルールがトリガーされます... またはサブセットの 1 つだけが条件付きで必要になります。さらに、条件付き必須コントロールのサブセットは、さまざまなタイプにすることができます。

私はこれについて何度も続けることができますが、追加の例が答えを変えるとは思えません.

したがって、明確にするために、属性を使用して特定のフィールドを必須として、または特定の範囲内でマークできる、mvc データ注釈でできることのようなものは必要ありません。他の検証の束の中に埋められたそのタイプの検証が必要です。

では、この種の複雑なクライアント側の検証に対するベスト プラクティス ソリューションはありますか? これを可能にするサードパーティの Javascript ライブラリはありますか?

私の Windows アプリでは、すべて共通の基本クラスから派生する小さなラッパー ルールを作成できました。addChilrenたとえば、基本クラス ルールから派生した他のオブジェクト、または単に他のコントロールを追加できるようにするメソッドを含むルールがあり、このルールは実行時に更新して 1 つ以上を要求することができます。子オブジェクトの...

そしてもちろん、このルール「RequireOneOrMore」は他の場所で再利用でき、子として他のルールに渡すこともできます...

これのいくつかが理にかなっていることを願っています....

では、mvc ブックを Javascript ブックに向けて作業しているときに、これを達成するために調査するオプションを誰か提案してもらえますか?

ありがとう、ジョナサン

4

1 に答える 1

2

複雑な検証ルールを実行するという点で、データ注釈が非常に制限されていることに完全に同意します。

ただし、クライアント側の検証について考える前に、どんなに複雑であっても、すべての検証ルールが少なくともサーバーに適用されていることを確認する必要があります。複雑なサーバー側の検証を行うための優れたフレームワークですFluentValidation.NET。ASP.NET MVCとの優れた統合により、任意の複雑な検証ルールを処理できます。

サーバー側の検証を設定したら、ユーザーエクスペリエンスについて考え始め、オプションでクライアント側の検証も提供できます。jquery.unobtrusive.validate.js複雑なルールの場合は、スクリプトを削除してからjquery.validate.jsプラグインを直接使用することをお勧めします。これは、基本的に、特定のフォームの検証ルールを自分で作成できることを意味します。

$('form').validate({
    rules: {
        // ... here you could write your validation rules
        // you could also extend the plugin by writing custom
        // validation methods to handle arbitrarily complex scenarios
    }
});

documentation of the plugin構文を理解するために、今すぐ読んでください。

しかし、あなたはjQueryに非常に慣れていないと言ったので、検証とプラグインを使用してクライアント側の開発を行う前に、最初のタスクはjQueryを学ぶことです。開始するのに最適な場所はここです:http://learn.jquery.com/

于 2013-02-20T12:54:29.117 に答える