27

ASP.NET MVC プロジェクトで knockout.js を使用しています。次のリンクを使用して、フォームを表示し、JSON オブジェクトをシリアル化し、データを表示する方法を見つけました: How to use knockout.js with ASP.NET MVC ViewModels?

しかし、フォームを検証する方法がわかりません。フォームを検証するための最適なソリューションは何ですか?

4

3 に答える 3

37

Knockout.Validation プラグイン ( https://github.com/Knockout-Contrib/Knockout-Validation ) を使用しましたが、これはうまく機能しています。Knockout でエクステンダーを使用するため、モデル プロパティを拡張して、必須、最小、最大、またはパターン マッチなどのルールを含めることができます。カスタム ルールを作成することもできます。たとえば、URL用に作成しました。メールなどのルールも組み込まれています。これらはすべて、ドキュメントの github ページにあります。始めるために必要なものがすべて揃っています。

もう 1 つのオプションは、jquery 検証を使用することです。これもうまく機能します。

于 2012-06-26T15:20:37.913 に答える
4

Knockout.Validationプラグインを試してください。

https://github.com/Knockout-Contrib/Knockout-Validation

于 2012-06-25T22:15:03.223 に答える
3

答えは受け入れられますが、私のアプローチを共有したいと思います。私は、jquery と knockout.js を組み合わせて、目立たないクライアント側のフォーム検証に非常に適したjQuery Validation プラグインを適用することを好みます。フォームの送信前に機能し、フォームを入力パラメーターとして受け入れます。このようなもの:

    function ViewModel() {
       var self = this;
       self.firstName = ko.observable();
       self.lastName = ko.observable();
       self.email = ko.observable();
       self.validate = function(form) {
           return $(form).validate();
       };
    };
    var viewModel = new ViewModel();
    ko.applyBindings(viewModel);

validate() 関数が呼び出され、検証が成功した場合はフォームが送信され、失敗した場合はエラーが表示されます。

于 2015-07-31T15:44:27.263 に答える