0
我面臨的問題是,我的HTML淘汰賽與淘汰賽基本文本驗證</p> <p>這裏文本框驗證錯誤
<input type="text" data-bind="value:text" />
<br />
<br />
<input type="button" data-bind="click:save" value="save" />
這裏是我的腳本
$(document).ready(function() {
ko.validation.registerExtenders();
ko.validation.configure({
registerExtenders: true,
decorateElement: true
});
var vm = ko.validatedObservable({
text: ko.observable().extend({
required: true
}),
save: function() {
debugger;
if (this.isValid()) {
alert('success');
}
else {
this.errors.showAllMessages();
alert('error');
}
}
});
ko.applyBindings(vm);
});
我已經包含下面的腳本
<script src="/Scripts/jquery-2.1.1.min.js" type="text/javascript"></script>
<script src="/Scripts/knockout-2.1.0.js" type="text/javascript"></script>
<script src="/Scripts/knockout.mapping-latest.js" type="text/javascript"></script>
<script src="/Scripts/knockout.validation.min.js" type="text/javascript"></script>
當我運行這個我越來越'未定義是不是一個函數'在「this.isValid()」
請幫助我。
你應該說開始的無功自我=這一點;當初始化你的虛擬機以避免混淆。你得到這個錯誤是因爲他沒有找到這個isValid()。嘗試將其改爲自我。如果這不起作用,請檢查是否所有腳本實際上都包含正確。 – sander 2014-12-04 09:57:10
我已經添加var self =這在保存功能和檢查腳本,但同樣的錯誤發生,..請幫助我。 – user1551433 2014-12-04 10:02:17
你誤解了。你應該添加var self = this;作爲var vm = ko.validatedObservable({。然後將if(this.isValid())更改爲if(self.isValid())並再次檢查之後的第一條語句 – sander 2014-12-04 10:09:40