这是一个小提琴,显示了我的部分问题:
有一个带按钮的输入框;输入框应验证强制性和电子邮件地址。在我的实时站点中,它确实验证了,但直到输入框中的项目被添加到 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;
}