7

最近、Knockout と ASP.NET MVC4 を使用して Breeze をプロジェクトに追加しました。私は Breeze がとても好きで、多くのコーディングを節約できます。

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

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

フロントエンドでプロパティを定義し、ノックアウト検証を適用することで回避できると思います。

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

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

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

4

1 に答える 1

6

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

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

また、ブリーズ検証を jQuery や Knockout などのさまざまなサードパーティ ライブラリに「接続」する方法の例を提供することも計画しています。残念ながら、これらの例は、要望の多かった他の機能に取り組んでいるため、現時点では優先度が高くありません。Breeze ユーザーの声https://breezejs.uservoice.com/forums/173093-breeze-feature-suggestionsで、これらの例の作業に投票することをお勧めします。私たちは、次に何をすべきかを決定する際に、その場所を真剣に受け止めています。

于 2012-11-29T00:02:28.233 に答える