2013-06-12 2 views
0

나는이 녹아웃 코드가 패배 :녹아웃 검증이 변수 값

var Account = ko.validatedObservable { 
ClientID: '', 
ConsultantID: '', 
AccountNumber: ko.observable(), 
Title: ko.observable('Mr'), 
Forename: ko.observable(), 
Surname: ko.observable().extend({ 
    required: { message: "* Required" }, 
    minLength: 2 
}), 
Submit: function() { 

    Account.errors.showAllMessages(); 

    if (this.isValid()) 
     $.ajax({ 
      url: "/Account/CheckClientDetails", 
      type: 'POST', 
      dataType: 'json', 
      data: ko.toJSON(this), 
      contentType: "application/json; charset=utf-8", 
      success: function (data) { 
       Account.ClientID = data.Key; 
       alert(Account.ClientID); 
       alert(ko.toJSON(Account)); 
      }); 
     } 
}; 

첫 번째 경고가 클라이언트 ID를 보여줍니다, 두 번째 경고에서 JSON은 빈 문자열을 보여줍니다!

MVC 컨트롤러에 ko.toJSON (계정)을 전달하면 모든 속성이 채워지지만 ClientID는 0입니다.

유효성 검사를 제거하면 (knockout.validation에서 온 것입니다) 모든 것이 예상대로 작동하지만 그 기능을 잃고 싶지 않습니다!

이 변수를 채우고 값을 유지하려면 어떻게해야합니까?

답변

0

알아 냈어.

유효성 검사를 사용하면 계정보기 모델이 메소드로 바뀝니다. 코드를 다음과 같이 변경했습니다 :

Account().ClientID(data.Key); 
alert(Account().ClientID()); 
alert(ko.toJSON(Account())); 

이제는 코드가 변경되었습니다.

+0

나는 2 일을 분명히 기다려야 만한다. –

+0

아, 새 계정. 롭 감사합니다. –