ASP.NET MVC プロジェクトで knockout.js を使用しています。次のリンクを使用して、フォームを表示し、JSON オブジェクトをシリアル化し、データを表示する方法を見つけました: How to use knockout.js with ASP.NET MVC ViewModels?
しかし、フォームを検証する方法がわかりません。フォームを検証するための最適なソリューションは何ですか?
ASP.NET MVC プロジェクトで knockout.js を使用しています。次のリンクを使用して、フォームを表示し、JSON オブジェクトをシリアル化し、データを表示する方法を見つけました: How to use knockout.js with ASP.NET MVC ViewModels?
しかし、フォームを検証する方法がわかりません。フォームを検証するための最適なソリューションは何ですか?
Knockout.Validation プラグイン ( https://github.com/Knockout-Contrib/Knockout-Validation ) を使用しましたが、これはうまく機能しています。Knockout でエクステンダーを使用するため、モデル プロパティを拡張して、必須、最小、最大、またはパターン マッチなどのルールを含めることができます。カスタム ルールを作成することもできます。たとえば、URL用に作成しました。メールなどのルールも組み込まれています。これらはすべて、ドキュメントの github ページにあります。始めるために必要なものがすべて揃っています。
もう 1 つのオプションは、jquery 検証を使用することです。これもうまく機能します。
Knockout.Validationプラグインを試してください。
答えは受け入れられますが、私のアプローチを共有したいと思います。私は、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() 関数が呼び出され、検証が成功した場合はフォームが送信され、失敗した場合はエラーが表示されます。