2012-11-07 6 views
4

스로틀 익스텐더를 사용하면 녹아웃 검증이 작동을 멈추는 것으로 나타났습니다. 이 문제를 해결할 방법이 있습니까?스로틀을 통한 녹아웃 검증

var viewModel = { 
    label1: ko.observable('label1').extend({required: true}), 
    label2: ko.observable('label2').extend({required: true, throttle: 1}), 
}; 

ko.applyBindings(viewModel); 

jsFiddle 다음 throttle 연장 당신이 required 처음이있는 경우 다음 잘못된 관찰에 적용됩니다 이유 새로운 ko.dependentObservable을 반환하기 때문에 익스텐더의 순서가 중요합니까이 경우 http://jsfiddle.net/rWqkC/

답변

7

.

변경 순서와 그것을 작동합니다 :

ko.observable('label2').extend({throttle: 500, required: true }), 

그러나 속성 선언의 순서대로 확장 실행이 정말 당신이 사용을 사용하는 경우는 안전하다 정의되어 있지 않기 때문에이이 경우 확장

:

당신은 선언의 순서에 의존 할 수
ko.observable('label2').extend({throttle: 500}).extend({required: true }) 

Demo fiddle.

+0

은, 그건 정말 정의되어 있지 않습니다. 각 확장을 별도의'extend()'호출에 두는 것이 더 안전합니다. –

+0

@JeffMercado 네, 맞습니다. 제 답변을 업데이트했습니다. – nemesv