27

我在我的 ASP.NET MVC 项目中使用了 knockout.js。我通过以下链接了解了如何显示表单、序列化 JSON 对象和显示数据: 如何将 knockout.js 与 ASP.NET MVC ViewModels 一起使用?

但我无法弄清楚如何验证表格。验证表单的最佳解决方案是什么?

4

3 回答 3

37

我使用了他的 Knockout.Validation 插件(https://github.com/Knockout-Contrib/Knockout-Validation),效果很好。它在 Knockout 中使用扩展器,因此您可以扩展模型属性以包含所需、最小、最大或模式匹配等规则。您还可以创建自定义规则。例如,我为 url 创建了一个。它也有一些针对电子邮件等内容的内置规则。所有这些都在文档的 github 页面中。它拥有您入门所需的一切。

另一种选择是使用 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 回答