1

나는 녹아웃에 처음이므로 나와 함께하시기 바랍니다.매핑 후 녹아웃 유효성 확인

매핑 플러그인을 사용하여 서버에서받은 Json 데이터를 기존 viewModel 인스턴스에 매핑하려고합니다. 나는 아무 문제없이 이것을 할 수있다. 하지만 내 viewModel에서 데이터를 매핑하고 UI에 바인딩하자마자 유효성 검사 플러그인을 사용하여 유효성 검사를 실행하고 즉시 오류 정보를 표시합니다.

제출 버튼을 클릭 할 때까지 오류 메시지가 표시되지 않도록 할 방법이 있습니까? 아니면 내가 잘못하고있는거야?

ko.validation.configure({ 
     parseInputAttributes: true 
}); 

var data = { name: null, email: "[email protected]" }; 

function vm(){ 
    this.name = ko.observable().extend({required:true}); 
    this.email = ko.observable().extend({required:true}); 
    this.validationCheck = ko.validatedObservable(this); 
} 


var viewModel = ko.mapping.fromJS(data, {}, new vm()); 
ko.applyBindings(viewModel); 

답변

0

한 가지 방법이 시도 할 수 - 그래서 여기에 코드를 동반 jsfiddle에서 복사 한 자바 스크립트 코드가 아닌

다음은 Jsfiddle SO 나에게이 질문을 제출 허용하지 않습니다 어떤 이유 link

입니다 처음에는 모든 유효성 검사 메시지를 숨긴 다음 다시 표시하는 뷰 모델에 함수를 추가하는 것입니다. 그런 다음 제출 단추를 클릭하면 해당 함수를 호출합니다.

ko.validation.configure({ 
    parseInputAttributes: true 
}); 

var data = { name: "Joe Shmo", email: "[email protected]" }; 

var validationMapping = { 
    'name': { 
     create: function(options) { 
      return ko.observable(options.data).extend({required: true}); 
     } 
    } 
} 

var viewModel = ko.validatedObservable(ko.mapping.fromJS(data, validationMapping)); 

viewModel().showValidation = function() 
{ 
    $$('.validationMessage').set('style', 'display:inline'); 
    return viewModel.isValid(); 
} 
ko.applyBindings(viewModel); 

데모 : http://jsfiddle.net/bS62w/3/

+0

감사합니다 리 ..이 주위에 작품입니다. 나는 이것을 처리하는 적절한 방법이 있다고 생각했거나 잘못된 것을하고있었습니다. 문서를 확인하고있는 Im은 결과에 대해 곧 업데이트 될 것입니다. – Sai