2012-08-24 11 views
0

방지 required = true 속성과 함께. 제출 문서를 클릭하여로터스 Xpages 확장 라이브러리 번호 스피너 나는 다음과 같은 설정을 가진 <a href="/questions/tagged/xpage" class="post-tag" title="show questions tagged 'xpage'" rel="tag">xpage</a>을 개발 제출

`

`

<xp:this.resources> 
    <xp:dojoModule name="dijit.form.ValidationTextBox"></xp:dojoModule> 
</xp:this.resources> 
<xp:this.data> 
    <xp:dominoDocument var="document1" formName="form1"></xp:dominoDocument> 
</xp:this.data> 
<xp:inputText id="inputText1" 
    dojoType="dijit.form.ValidationTextBox" 
    value="#{applicationScope.test}"> 
    <xp:this.dojoAttributes> 
     <xp:dojoAttribute name="required" value="true"></xp:dojoAttribute> 
    </xp:this.dojoAttributes> 
</xp:inputText> 
<xp:button value="Label" id="button1"> 
    <xp:eventHandler event="onclick" submit="true" 
     refreshMode="complete"> 
     <xp:this.action> 
      <xp:saveDocument var="document1"></xp:saveDocument> 
     </xp:this.action> 
    </xp:eventHandler> 
</xp:button> 
<xp:br></xp:br> 
<xp:inputText id="inputText2" 
    dojoType="dijit.form.ValidationTextBox"> 
    <xp:this.dojoAttributes> 
     <xp:dojoAttribute name="required" value="true"></xp:dojoAttribute> 
    </xp:this.dojoAttributes> 
</xp:inputText> 
</xp:view> 
는 데이터베이스에 저장됩니다.

[tag : 확장 라이브러리]에서 을 추가하면 제출이 금지되므로 필요한 입력을 먼저 입력해야합니다.

`

<xp:this.resources> 
    <xp:dojoModule name="dijit.form.ValidationTextBox"></xp:dojoModule> 
</xp:this.resources> 
<xp:this.data> 
    <xp:dominoDocument var="document1" formName="form1"></xp:dominoDocument> 
</xp:this.data> 
<xp:inputText id="inputText1" 
    dojoType="dijit.form.ValidationTextBox" 
    value="#{applicationScope.test}"> 
    <xp:this.dojoAttributes> 
     <xp:dojoAttribute name="required" value="true"></xp:dojoAttribute> 
    </xp:this.dojoAttributes> 
</xp:inputText> 
<xp:button value="Label" id="button1"> 
    <xp:eventHandler event="onclick" submit="true" 
     refreshMode="complete"> 
     <xp:this.action> 
      <xp:saveDocument var="document1"></xp:saveDocument> 
     </xp:this.action> 
    </xp:eventHandler> 
</xp:button> 
<xp:br></xp:br> 
<xp:inputText id="inputText2" 
    dojoType="dijit.form.ValidationTextBox"> 
    <xp:this.dojoAttributes> 
     <xp:dojoAttribute name="required" value="true"></xp:dojoAttribute> 
    </xp:this.dojoAttributes> 
</xp:inputText> 
<xe:djNumberSpinner id="djNumberSpinner1"></xe:djNumberSpinner></xp:view> 

`

사람이이 문제를 해결하는 방법을 알고 있나요?

도움을 주시면 감사하겠습니다.

답변

0

XPage에서 dojoParseOnLoad를 "true"로 설정 했습니까? 당신이하지 않았던 것처럼 들리지만, xp : inputText는 Dojo Validation TextBox로 변환되지 않습니다.

그러나 Extension Library Number Spinner를 추가하면 지정하지 않은 경우에도 해당 컨트롤이 dojoParseOnload를 XPage에 자동으로 추가합니다. 따라서 유효성 검사 텍스트 상자도 즉시 작동합니다.

또한 Dojo 컨트롤을 사용하기 때문에 클라이언트 측 유효성 검사를 해제하는 것은 무의미합니다. Dojo 유효성 검증은 클라이언트 측만 작동 할 수 있습니다. Dojo 제어를 사용하고 유효성 검증 서버 측을 실행할 수 없습니다.

+0

답변 해 주셔서 감사합니다. 필자는 parseonload를 true로 설정했습니다.이 stackoverflow 편집기는 소스 코드의 첫 번째 줄을 자릅니다.

제출을 방해하는 유효성 확인을 포함하여 클라이언트 쪽에서 모든 것이 발생합니다.

jlehocz

+0

이 문제에 대한 다른 질문을 xpage의 html 소스와 함께 추가했습니다. 저에게는 Xtension 라이브러리가 dijit.form.Form을 브라우저의 페이지 형태에 자동으로 추가하는 것으로 보입니다. 그러면 문서를 저장하거나 부분적으로 새로 고치는 것을 방지 할 수 있습니다. – jlehocz