JSF 2 Mojarra —在f:ajax渲染后不接受必填属性
||
考虑这个简单的例子。如果我有这样的表单,则在inputText中没有任何值的情况下提交时,显然会收到验证错误:
<h:form id=\"testForm\" prependId=\"false\">
<h:selectOneMenu
id=\"testSelectOneMenu\"
value=\"#{backButtonTestBean.selection}\">
<f:selectItem itemValue=\"mickey\" itemLabel=\"Mickey\" />
<f:selectItem itemValue=\"mouse\" itemLabel=\"Mouse\" />
<f:ajax execute=\"@this\" render=\"panel\" />
</h:selectOneMenu>
<h:panelGroup layout=\"block\" id=\"panel\">
<h:panelGroup layout=\"block\">
<h:inputText id=\"requiredField\" required=\"true\" />
</h:panelGroup>
</h:panelGroup>
<h:commandButton value=\"submit\" action=\"#{backButtonTestBean.submit}\" />
</h:form>
但是,当我重新渲染带有f:ajax的panelGroup时,所要求的属性未得到遵守,并且我可以使用空值提交:
<h:form id=\"testForm\" prependId=\"false\">
<h:selectOneMenu
id=\"testSelectOneMenu\"
value=\"#{backButtonTestBean.selection}\">
<f:selectItem itemValue=\"mickey\" itemLabel=\"Mickey\" />
<f:selectItem itemValue=\"mouse\" itemLabel=\"Mouse\" />
<f:ajax execute=\"@this\" render=\"panel\" />
</h:selectOneMenu>
<h:panelGroup layout=\"block\" id=\"panel\">
<h:panelGroup layout=\"block\" rendered=\"#{backButtonTestBean.selection == \'mouse\'}\">
<h:inputText id=\"requiredField\" required=\"true\" />
</h:panelGroup>
</h:panelGroup>
<h:commandButton value=\"submit\" action=\"#{backButtonTestBean.submit}\" />
</h:form>
我正在mojarra 2.1.1中进行测试。任何建议表示赞赏。
没有找到相关结果
已邀请:
1 个回复
逝媳蘑贩茄