单击按钮时如何防止服务器端验证运行?

jpi*_*hko 0 xpages

我在动态内容控件的一个方面有一个必需的编辑框.客户端验证已禁用.我想在这个方面有一个取消按钮,它将把用户带回到他们所在的上一个方面.我无法弄清楚的部分是如何在单击"取消"按钮时告诉编辑框不运行验证.

这是我的取消按钮:

<xp:button value="Cancel" id="button1">
    <xp:eventHandler event="onclick" submit="true" refreshMode="complete">
        <xp:this.action><![CDATA[#{javascript:getComponent("dc").show(sessionScope.backBtn);}]]></xp:this.action>
    </xp:eventHandler>
</xp:button>
Run Code Online (Sandbox Code Playgroud)

这是必需的编辑框:

<xp:inputText id="inputText1" value="#{document1.Vendor}" required="true" disableClientSideValidation="true">
    <xp:this.validators>
        <xp:validateRequired message="Vendor name is a required field."></xp:validateRequired>
    </xp:this.validators>
</xp:inputText>
Run Code Online (Sandbox Code Playgroud)

小智 6

你需要关于true的immediate属性,参见example; 立即="真"

<xp:button id="buttonCancel" themeId="Button.Danger">
                            <i class="fa fa-undo"></i>
                            <xp:this.value><![CDATA[#{javascript:language.getLanguageString("button.cancel")}]]></xp:this.value>
                            <xp:eventHandler event="onclick"
                                submit="true" refreshMode="complete" immediate="true"
                                save="false">
                                <xp:this.action>
                                    <xp:actionGroup>
                                        <xp:executeScript
                                            script="#{javascript:viewStateBean.restoreState = true}">
                                        </xp:executeScript>
                                        <xp:openPage
                                            name="/languages.xsp">
                                        </xp:openPage>
                                    </xp:actionGroup>
                                </xp:this.action>
                            </xp:eventHandler>
                        </xp:button>
Run Code Online (Sandbox Code Playgroud)