2012-08-11 2 views
1

xpage에 숫자 필드를 만들었습니다. 그러나 입력 검사가 제대로 작동하지 않습니다. 예상되는 동작 인 숫자 만 허용하지만 입력 한 숫자는 유효하지 않습니다. regExp \ d {6} (으)로 인해 가능하지 않은 6 자리가 넘는 숫자가 허용되었습니다.Xpages Dojo dijit.form.numbertextbox

<xe:djNumberTextBox id="inputTextMidasId" dojoType="dijit.form.NumberTextBox" value="#{complaintDocument.midasId}" javaType="short" regExp="\d{6}"> <xe:this.constraints> <xe:djNumberConstraints pattern="######"> </xe:djNumberConstraints> </xe:this.constraints> </xe:djNumberTextBox>

사람이 코드가 작동하는 방법을 말해 줄 수 : 여기

는 xpage의 코드인가? 고맙습니다.

답변

1

정규 표현식이 예상대로 작동하지 않는 이유를 설명 할 수 없습니다.

XPages 확장 라이브러리 책에 따르면 xe:djNumberConstraintsminmax 속성을 사용하여 허용되는 최소 및 최대 값을 제어 할 수 있습니다. 그래서 정규 표현식 대신에 그것들을 사용해야할까요?

다음은 당신이 원하는 것을 정확하게 수행합니다

<xe:djNumberTextBox id="djNumberTextBox1" value="#{viewScope.test}"> 
    <xe:this.constraints> 
     <xe:djNumberConstraints min="1" max="999999"></xe:djNumberConstraints> 
    </xe:this.constraints> 
</xe:djNumberTextBox> 

업데이트 :

당신이 변환됩니다 xe:djNumberTextBox에서 001을 작성하는 경우 1 사용자가 필드를 떠날 때. 이게 니가 원하는거야?

xe:djValidationTextBox을 사용하면 정규식을 사용하여 입력을 확인할 수 있습니다. 다음은 필요한 확인 작업을 수행하며 입력란에 001과 같은 입력을 허용합니다.

<xe:djValidationTextBox id="djValidationTextBox1" regExp="\d{6}"></xe:djValidationTextBox> 
+1

답장을 보내 주셔서 감사합니다. 코드는 정상적으로 작동하지만 불행히도 정규 표현식 \ d {6}에 따른 사례는 다루지 않습니다. 0 ##### 또는 00 #### 같은 숫자. – jlehocz

+0

'xe : djValidationTextBox' 사용에 대한 몇 가지 관찰로 내 대답을 업데이트했습니다. –

+0

안녕하세요. 저는 이것에 대해 생각해 보았습니다. 왜냐하면 그것들이 저를 해결책으로 이끌었 기 때문입니다. 만약 내가 앞에 오는 0으로 값을 입력하고 싶다면이 경우에는 numberbox의 textbox instad를 사용해야한다. 나는 여기서 최고의 도구가 숫자라고 생각한다. 도움 주셔서 감사합니다. – jlehocz