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