2013-08-16 3 views
0

나는 KnockoutJS에 익숙하지 않으며 유효성 검사에 약간의 문제가 있습니다. 두 개의 텍스트 상자가 있고 textbox1 입력 값이 textbox2 입력 값보다 큰지 확인하기 위해 유효성을 검사하려고합니다. 여기KnockoutJS 체크 박스가 다른 텍스트 상자보다 크다

self.model.tbLow.extend({ 
    min: 1, 
    max: 999999, 
    maxLength: 6, 
    validation: { validator: greaterThan, 
        message: 'tbHigh must be larger than Car tbLow.', 
        params: tbHigh } 

}); 

을 검증 기능입니다 :

<input type="number" id="tbLow" name="tbLow" data-bind="value: model.tbLow"/> 
<input type="number" id="tbHigh" name="tbHigh" data-bind="value: model.tbHigh"/> 

이 tbLow에 대한 검증을 혈통

var greaterThan = function (tbLow, tbHigh) { 
    return CarNumberHigh > CarNumberLow; 
} 

내가 tbHigh 값 ... 어떤 아이디어를 얻을 수없는 무엇입니까? ?

+0

내가 누락 된 게터 기능을 사용 했습니까? tgHigh() –

+0

게터 기능은 무엇입니까? - 다른 유효성 검사가 잘 작동합니다 (최소, 최대 길이 등) – Dashsa

+0

tbHigh의 값을 가져와 관찰 가능하도록해야하는 경우 뷰 모델에서 참조 할 때 게터 함수 tbHigh()를 사용해야합니다. . 유효성 검사 플러그인을 많이 사용하지는 않지만 매개 변수를 params로 변경해보십시오. tbHigh() –

답변

0

확장자는 관측 가능 값을 래핑합니다. 당신은 model.tbLow의 값을 observable.extend() 함수의 결과로 설정하고 있습니까? 당신이 당신의 모델 내에서 연장하는 경우

this.tbLow = ko.observable(...).extend({ ... }); 

당신이 검증 익스텐더 자신이 뭔가를 사용하거나 쓰기나요 ...

self.model.tbLow = self.model.tbLow.extend({ ... }); 

을 또는 :

코드는 다음과 같아야합니다 녹이다? 그 코드를 게시하거나 링크 할 수 있습니까? 그렇지 않으면 우리는 당신이 그것을 올바르게 사용하고 있는지 알지 못한다. 우리는 'greaterThan'기능이 무엇을 보내고 있는지 알 수 없다.