1
我在我的应用程序中使用jsf/promefaces。我有一个包含多个输入组件的表单,其中2个输入组件是PrimaryKey值。因此,只要用户输入PK值,就会触发“ValueChange”ajax事件并验证重复PK。 如果表单中只有PK输入组件,那么当用户在输入文本中输入值并单击提交按钮(焦点仍然是InputText)时,则调用InputText的值更改侦听器,但不调用Submit按钮操作。为此,我需要点击两次提交按钮。 有没有什么办法来克服这个或者排队ajax调用的方法。下面给出代码。必须单击“提交”按钮两次以提交表单
<p:outputLabel value="selectOneLabel" for="selectOne" />
<p:selectOneMenu id="selectOne" value="#{bean.selectOne}" required="true" >
<f:selectItems value="#{bean.selectOneList}" />
<p:ajax event="change" listener="#{bean.validatePK()}"/>
</p:selectOneMenu>
<p:outputLabel value="inputTextLabel" for="input" />
<p:inputText id="inputText" value="#{bean.inputText}" required="true">
<p:ajax listener="#{bean.validatePK()}"/>
</p:inputText>
<p:commandButton id="submit" action="#{bean.CreateAction()}" value="Submit" />
感谢莫,实际上我有数量的UI页面,其中数据显示不同的表,所以我不能只写一个验证方法来验证不同的表中的PrimaryKey约束。 –
因为你需要一个不同的验证器,然后每个PK。但是,根据需要改变验证器应该不会太困难;) – MoYapro