Jsf Apache Trinidad tr:panelTabbed始终验证当前选项卡的内容
我对apachetrinidadtr:panelTabbed组件有问题。我正在尝试将不同的表单放入此组件的选项卡(tr:showtailitem)。这在第一次尝试时根本不起作用(我得到了一个位于NullPointerException的示例,org.apache.myfaces.trinidadinternal.ui.laf.base.xhtml.FormValueRenderer.AddNeedValue(FormValueRenderer.java:126):Jsf Apache Trinidad tr:panelTabbed始终验证当前选项卡的内容,jsf,trinidad,Jsf,Trinidad,我对apachetrinidadtr:panelTabbed组件有问题。我正在尝试将不同的表单放入此组件的选项卡(tr:showtailitem)。这在第一次尝试时根本不起作用(我得到了一个位于NullPointerException的示例,org.apache.myfaces.trinidadinternal.ui.laf.base.xhtml.FormValueRenderer.AddNeedValue(FormValueRenderer.java:126): 当tr:form标记中没有
当tr:form标记中没有内容时,也会发生此错误,因此它与我自己的JavaBean无关
我发现tr:panelTabbed必须放在tr:form标记中。由于不允许在另一个表单标记中使用一个表单标记(这再次导致上述异常),我将代码更改为:
<tr:form>
<tr:panelTabbed>
<tr:showDetailItem text="First tab">
<tr:inputText label="Value 1" value="#{myBean.someValue1}" required="true" />
<tr:commandButton text="Save Value 1" actionListener="#{myBean.saveValue1}" />
</tr:showDetailItem>
<tr:showDetailItem text="Second tab">
<tr:inputText label="Value 2" value="#{myBean.someValue2}" required="true" />
<tr:commandButton text="Save Value 2" actionListener="#{myBean.saveValue2}" />
</tr:showDetailItem>
</tr:panelTabbed>
</tr:form>
这一点一开始很好,但最终导致了我的问题:
我在每个表单中都有一些验证。当用户尝试切换到第二个选项卡,而第一个选项卡包含验证错误时,他或她不允许这样做。我希望避免这种行为,但我也希望在用户单击“保存”按钮时验证当前选项卡的内容
有什么建议可以解决这个问题吗
提前感谢特立尼达岛有一个tr:subform标记,它可以满足您的需要,请尝试在每个面板中使用一个通用tr:form标记和一个小tr:subform(我希望您希望单独验证表单)
<tr:form>
<tr:panelTabbed>
<tr:showDetailItem text="First tab">
<tr:inputText label="Value 1" value="#{myBean.someValue1}" required="true" />
<tr:commandButton text="Save Value 1" actionListener="#{myBean.saveValue1}" />
</tr:showDetailItem>
<tr:showDetailItem text="Second tab">
<tr:inputText label="Value 2" value="#{myBean.someValue2}" required="true" />
<tr:commandButton text="Save Value 2" actionListener="#{myBean.saveValue2}" />
</tr:showDetailItem>
</tr:panelTabbed>
</tr:form>