0
내가 직면하고 문제는 스크립트 아래에 포함했다녹아웃 텍스트 상자 유효성 검사 오류
$(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);
});
내 스크립트 내 html로 여기
<input type="text" data-bind="value:text" />
<br />
<br />
<input type="button" data-bind="click:save" value="save" />
입니다
<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()"에서 함수가 아닌 Undefined가됩니다.
도와주세요.
당신은 말로의 시작해야을 var에 자체 =이; 혼란을 피하기 위해 VM을 초기화 할 때. 그가 isValid()를 찾지 못해서 얻은 오류. 그것을 스스로 변경하십시오. 그래도 문제가 해결되지 않으면 모든 스크립트가 실제로 올바르게 포함되었는지 확인하십시오. – sander
저장 기능 및 검사 된 스크립트에서 var self = this를 추가했지만 동일한 오류가 발생했습니다. 제발 도와주세요. – user1551433
당신이 오해했습니다. var self = this를 추가해야합니다. var vm = ko.validatedObservable ({if if (this.isValid())를 if (self.isValid())로 변경하고 다시 확인하십시오. – sander