通过groupName进行Xpages单选按钮验证?

时间:2016-11-30 11:48:15

标签: validation xpages radio groupname

我在表中具有相同groupName的单选按钮。 在不使用CCJS的情况下提交表单时,是否有相对简单的方法来验证此字段?

<xp:td>
    <xp:radio id="radio120" groupName="R_1" value="#{document1.R_1}" selectedValue="1"></xp:radio>
</xp:td>
<xp:td>
    <xp:radio id="radio120" groupName="R_1" value="#{document1.R_1}" selectedValue="2"></xp:radio>
</xp:td>

使用常规的单选按钮组控件,我使用带有errorMessage控件的validateRequired来显示消息。

<xp:radioGroup styleClass="A2" style="border:0px;" value="#{document1.Necktie}" layout="pageDirection" id="Necktie">
    <xp:this.validators>
        <xp:validateRequired message="REQUIRED!"></xp:validateRequired>
    </xp:this.validators>
    <xp:selectItem itemLabel="No" id="selectItem13"></xp:selectItem>
    <xp:selectItem itemLabel="Yes" id="selectItem14"></xp:selectItem>
</xp:radioGroup>
<xp:message id="message10" for="Necktie"></xp:message>

2 个答案:

答案 0 :(得分:0)

足够公平......在这种情况下,除了对CSJS做某事外,我不太确定......

不确定这是否会有所帮助,但请看Marky Roden的这篇文章: https://xomino.com/2012/03/10/checking-xpages-radio-buttons-have-been-selected-with-jquery/

由于年终结束,我没有在4/5周内进行任何开发工作,所以我的大脑并不像它应该的那样......

答案 1 :(得分:0)

使用服务器端的数据源document1查看是否选择了其中一个单选按钮 测试document1.getItemValueString("R_1")。如果为空,则设置错误消息并返回false。否则保存文件。

<xp:button value="Save" id="button1">
    <xp:eventHandler event="onclick" submit="true"
        refreshMode="complete">
        <xp:this.action><![CDATA[#{javascript:
            if (document1.getItemValueString("R_1") == "") {
                facesContext.addMessage(null, 
                    new javax.faces.application.FacesMessage("select a radio"));
                return false;
            }
            document1.save();
        }]]></xp:this.action>
    </xp:eventHandler>
</xp:button>
<xp:messages id="messages1" />