填写和删除所写内容后,如果未填写必填字段,则按钮起作用

时间:2016-01-14 06:37:25

标签: javascript validation knockout.js knockout-validation

我有一个页面,如果第一个名字和姓氏没有填写,addAddress按钮将不起作用。如果您按下addAddress按钮,它会要求填写所需的字段,这段代码就可以正常工作。如果你愿意,它可以工作,但如果你只是填写它并删除你所写的内容,按钮将再次起作用。我不明白这是什么问题?

    self.addAddress = function () {
    if (self.FirstName() != undefined && self.LastName() != undefined) {
        self.selectedAddress(new Address(true));
    }

    else {
        self.errors.showAllMessages();

    }
};

2 个答案:

答案 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
相关问题