小编Cam*_*ord的帖子

使用Knockout验证插件时,Knockout ViewModel isValid错误

我是新手使用淘汰赛,我正在尝试使用淘汰验证插件和映射插件.我在视图模型对象上遇到了isValid函数的问题.根据文档,isValid应该返回一个bool来确定视图模型上的任何可观察对象是否有效但是当我调用它时我得到一个错误,说isValid不是一个函数.但是,如果我在observables上调用isValid它可以正常工作.问题是我正在使用映射插件和我从服务器获得的一些动态数据对象,因此我不一定知道我需要验证的observable的名称,因此单独验证它们是不可行的.以下示例已经过简化,但在实际实现中,我不知道可观察对象的名称.也许我刚刚错过了一些文档?

谢谢你的时间.

这确实有效

    var dataItem = { FirstName: '', LastName: '', Age: '', Email: '' }


    var viewModel = function(data) {

        var self = this;
        this.Email = ko.observable().extend({ email: true });
        this.LastName = ko.observable().extend({ required: true });
        this.Age = ko.observable().extend({ required: true, min: 0 });
        this.saveClick = function () {

            if (!self.Email.isValid() || !self.Age.isValid() || !self.LastName.isValid()) {
                alert('Not valid');
            else {

                alert('Valid');
            }
        };
        this.cancelClick = function () {

            ko.mapping.fromJS(dataItem, null, this);
        }

        ko.mapping.fromJS(data, {}, this);
    };

    var viewModelInstance = …
Run Code Online (Sandbox Code Playgroud)

jquery knockout-mapping-plugin knockout.js knockout-validation

4
推荐指数
1
解决办法
1万
查看次数