敲除视图模型的部分验证

时间:2013-05-30 13:55:53

标签: knockout.js knockout-validation

我对KockoutJS不熟悉 但我有this working jsFiddle验证。 但我希望有一组约5个可观察量并验证该集合。 它意味着某种向导,并在每一步中验证该步骤中的可观察量。

我已经阅读了validatedObservable,但我是否必须在viewModel之外为它创建一个var,然后引用viewmodel中的observable? 我发现this as only reference并且难以理解分组并通过敲除验证进行验证。

这是我的JS代码:

function ovm() {
    var self = this;
    this.delStreet = ko.observable("").extend( {required: true} );
    this.deliveryNotSameAsInvoice = ko.observable(false);
    this.invStreet = ko.observable('');
    this.delCountry = ko.observable("");
    var invStreetCheck = ko.computed(function(){
        var checked = self.deliveryNotSameAsInvoice(),
            delStreet = self.delStreet();
        if(!checked)
            return self.invStreet(delStreet);
        return self.invStreet();
    });
}

var vm = new ovm();
ko.applyBindings(vm);

$("#s1").click(function(){
    alert(vm.delStreet.isValid());
});

1 个答案:

答案 0 :(得分:1)

Here's how I solved this problem for someone else

它使用Carl Schroed的ValidatedViewModel,允许您选择要应用的验证选项 - 对于多步骤表单非常方便。