Knockout.js 将元素添加到模型后,将进行淘汰验证

Knockout.js 将元素添加到模型后,将进行淘汰验证,knockout.js,Knockout.js,这是一把小提琴,显示了我的部分问题: 有一个带按钮的输入框;输入框应验证必填地址和电子邮件地址。在我的live站点中,它会进行验证,但要等到输入框中的项目添加到emailCC阵列之后,这已经太晚了-如果它不是有效的电子邮件地址,我不希望它出现在模型中。(在小提琴中,验证根本没有启动,但我不知道为什么)。如果输入框项目无效,如何防止将其添加到emailCC数组中 js代码的一部分如下所示: function emailViewModel() { var self = this; self.

这是一把小提琴,显示了我的部分问题:

有一个带按钮的输入框;输入框应验证必填地址和电子邮件地址。在我的live站点中,它会进行验证,但要等到输入框中的项目添加到emailCC阵列之后,这已经太晚了-如果它不是有效的电子邮件地址,我不希望它出现在模型中。(在小提琴中,验证根本没有启动,但我不知道为什么)。如果输入框项目无效,如何防止将其添加到emailCC数组中

js代码的一部分如下所示:

 function emailViewModel() {
 var self = this;
 self.emailAddress = ko.observable("test").extend({
     required: true
 }).extend({
     email: true
 });
 self.emailCC = ko.observableArray([]);

 self.addCC = function () {
     if (this.emailAddress() !== "")
     self.emailCC.push(new EmailAddress(self.emailAddress()));
     self.emailAddress(""); //clear text box
 };
 }
 ko.applyBindings(new emailViewModel());

 function EmailAddress(name) {
 this.name = name;
 }

我做了一些修改来解决你的问题,效果很好

使用

  isValid() method achieved your objective

请随意将其标记为答案,如果它解决了您的问题,请单击向上链接。

我做了更改,以解决您的问题,效果良好

使用

  isValid() method achieved your objective
请随意将其标记为答案,并单击向上链接,如果它解决了您的问题