我有一个页面,如果第一个名字和姓氏没有填写,addAddress按钮将不起作用。如果您按下addAddress按钮,它会要求填写所需的字段,这段代码就可以正常工作。如果你愿意,它可以工作,但如果你只是填写它并删除你所写的内容,按钮将再次起作用。我不明白这是什么问题?
self.addAddress = function () {
if (self.FirstName() != undefined && self.LastName() != undefined) {
self.selectedAddress(new Address(true));
}
else {
self.errors.showAllMessages();
}
};
答案 0 :(得分:0)
我认为当你删除它时,它不再是未定义的,而是空字符串,所以检查空字符串应该可以做到这一点
self.addAddress = function () {
if (self.FirstName() !== '' && self.LastName() !== '') {
self.selectedAddress(new Address(true));
}
else {
self.errors.showAllMessages();
}
答案 1 :(得分:0)
执行此操作的正确方法是定义验证组并对其进行检查。您的执行方式仅使用变量显示消息..
定义组
this.errors = ko.validation.group(this)
检查它是否有效
this.errors().length === 0