2012-11-29 8 views
7

最近、ノックアウトとASP.NET MVC4を使用してプロジェクトにBreezeを追加しました。私はBreezeが本当に好きで、たくさんのコーディングを保存します。Breezeとノックアウトのバリデーション

私はKnockout検証を使用していますが、データ入力時のプロパティフィールドテキストボックスとエラーメッセージの表示方法を検証する方法と同じです。

私は、検証要件がバックエンドでオブジェクトプロパティのC#属性で定義され、検証要件がメタデータで受信され、次にノックアウト検証が使用できる組み合わせを使用したいと考えています。私は、フロントエンドのプロパティを定義し、ノックアウト検証など

classProperty.extend({ required: true }) 
      .extend({ minLength: 3 }); 

を適用することによって、それを回避することができると思い

はフロントで検証要件を適用することなく、ノックアウト検証を使用する方法はあります終わり?そうでない場合は、これを検討していますか?

この質問は、IdeaBladeフォーラムのjohnvarneyによって投稿されました。私はBreeze Stack Overflowコミュニティに役立つと思うので、ここで質問と回答を再投稿しています。

答えて

6

気付いたことがあるように、Breezeはすでにメタデータに基づいて検証を実行しています。プロパティが必要かどうか、データ型かどうか、文字列がサーバー上で自動的に生成されてクライアントに送信される場合の長さなど、基本的な "検証"ルールこれらの検証ルールは、クライアント上の「検証」メタデータを直接変更することによっても拡張できます。

このトピックの詳細は、APIドキュメント内のhttp://www.breezejs.com/sites/all/apidocs/classes/Validator.htmlと、Breezeサンプルダウンロードの「DocCode」サンプルディレクトリの両方で入手できます。

また、jQueryやKnockoutなどのさまざまなサードパーティライブラリにbreeze検証を「接続する」方法の例を提供する予定です。残念なことに、これらの例は、高度に要求されている他の機能についての作業のために現在優先順位が高くありません。 Breeze User Voice https://breezejs.uservoice.com/forums/173093-breeze-feature-suggestionsで、これらの例の作業に投票することをお勧めします。私たちはその会場を真剣に次のやり方について決定することにします。

関連する問題