【问题标题】:Validating a knockout.js form?验证 knockout.js 表单?
【发布时间】:2012-06-27 04:34:03
【问题描述】:

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

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

【问题讨论】:

    标签: forms validation knockout.js


    【解决方案1】:

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

    另一种选择是使用 jquery 验证,它也很有效。

    【讨论】:

      【解决方案2】:

      试试 Knockout.Validation 插件:

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

      【讨论】:

        【解决方案3】:

        虽然答案被接受,但我想分享我的方法。我更喜欢将 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()函数,如果验证成功则提交表单,否则会报错。

        【讨论】:

          猜你喜欢
          • 2015-06-16
          • 2013-01-12
          • 1970-01-01
          • 2014-01-21
          • 2019-07-12
          • 2012-09-19
          • 2015-05-19
          • 1970-01-01
          • 2014-06-24
          相关资源
          最近更新 更多