2014-09-25 105 views
2

好日子,validateObservable在淘汰赛JS - undefined是不是一个函数

我想验证我的身边一个相当庞大的形式,基本上重写我的所有视图模型代码,以便它可以验证。问题是,由于某种原因,ko.validatedObservable()似乎不存在。我使用了this site的代码,并且我真的无法看到我的代码中存在什么问题。下面是一个示例:

var someNameSpace= {}; 

    someNameSpace.bindData = function() { 
     someNameSpace.viewModel = 
     someNameSpace.initViewModel("123456", "username1", "address1", "address2", "city"); 

     ko.applyBindings(this.viewModel); 
    } 

someNameSpace.initViewModel = function (partnerId, username, address1, address2, city) { 
    console.log(ko); 
    var someViewModel = ko.validatedObservable({ //<----FAILS HERE 
     partnerId: ko.observable(partnerId).extend({ required: "This field is required", number: true }), 
     username: ko.observable(username).extend({ required: "This field is required" }), 
     address1: ko.observable(address1).extend({ required: "This field is required" }), 
     address2: ko.observable(address2).extend({ required: "This field is required" }), 
     city: ko.observable(city).extend({ required: "This field is required" }), 
    }); 

    var validationOptions = { insertMessages: true, decorateElement: true }; 
    ko.validation.init(validationOptions); 

    return someViewModel ; 
} 

$(document).ready(function() { 
    someNamespace.bindData(); 
}); 

在该网站上,它声称使用ko.validatedObservable以检查是否领域是由用户输入正确。我对淘汰赛仍然很陌生 - 我该怎么办?

error

+0

有太多的阅读,你可以在重现的jsfiddle? – artm 2014-09-25 12:50:25

+0

哈哈,好的,我会缩短代码。它的字面上只有ko.validatedObservable失败。它的方式太多的代码快速重现在小提琴 - 这只是一个文件中的示例,超过800行代码:/ – Eon 2014-09-25 12:51:41

+0

请参阅?你会以我认为的这种方式做出更多的回应。 – artm 2014-09-25 12:53:52

回答

3

您需要包括对'knockout.validation.js'库的引用。

knockout.validation.js

https://rawgit.com/ericmbarnard/Knockout-Validation/master/Src/knockout.validation.js

GitHub的参考

https://github.com/Knockout-Contrib/Knockout-Validation

+1

那就是现场。我经历了一个初级开发人员的最后一次“清理”项目。 LO-和脱俗。他删除了knockout.validation.js。谢谢。 – Eon 2014-09-25 13:03:38

+0

@Noobgrammer好的,蛋糕在他身上。 :) – hutchonoid 2014-09-25 13:05:04

+0

他有麻烦,我可以说很多 - 尽管我没有权限鞭打他:P – Eon 2014-09-25 13:08:45