Validation CommandButton操作触发,尽管存在验证错误

Validation CommandButton操作触发,尽管存在验证错误,validation,jsf-2,richfaces,Validation,Jsf 2,Richfaces,我有一个页面,其中包含设置了required=true属性的字段。我还有一个提交表单的保存按钮 不幸的是,即使required=true字段为空,表单也会提交 这是我当前的代码: <s:decorate template="layout/edit.xhtml" id="decAQty"> <ui:define name="label">Actual Qty Received</ui:define> <h:inputText

我有一个页面,其中包含设置了required=true属性的字段。我还有一个提交表单的保存按钮

不幸的是,即使required=true字段为空,表单也会提交

这是我当前的代码:

<s:decorate template="layout/edit.xhtml" id="decAQty">
    <ui:define name="label">Actual Qty Received</ui:define>
    <h:inputText
        value="#{tktReceivingInfoHome.instance.actualReceivedQty}"
        required="true" id="txtAQty"
        converterMessage="Not a valid Quantity">
        <a:ajax event="blur" render="txtAcTotal,decAQty"
            listener="#{returnsReceivingManager.setActualTotal}" />

    <h:messages id="error" style="display:none" />
    </h:inputText>

<a:commandButton id="btnSave"
    action="#{returnsReceivingManager.checkQtyDiff}" value="Save"
    render="decSQty,decScQty,decRtvQty,addForm,decAQty,decRecdDate,decRecWH,decErrorRMA,decErrorRTV,decReason,decStatusRMA,decStatusRTV,decPriority,decResolution"
    oncomplete="#{returnsReceivingManager.rmaInfo.qtyDiff!=0 ? '#{rich:component(\'addPanel\').show();' : 'callSave();'}"
    onclick="showProgressBar()" />
<a:jsFunction action="#{returnsReceivingManager.save}"
    oncomplete="hideProgressBar()" name="callSave" />
当我单击save按钮时,我可以看到弹出的消息,指示该值是必需的,但它随后消失,并给我一条消息,说明事务失败


换句话说,该页面似乎被提交了两次。我希望社区能提供关于如何解决此问题的任何建议。

目前,只有在退出txtAQty字段模糊事件时才会触发验证。这就是您看到错误消息的原因。接下来要做的是单击save按钮,该按钮执行某些字段的重新排序,但不进行包括任何字段验证在内的处理。这就是错误消失的原因


您应该将process属性添加到commandButton,其中的值至少列出txtAQty字段,但更好的是列出您正在重新排序的所有其他字段

命令按钮和输入文本的格式是否相同?