【发布时间】:2014-10-20 13:38:20
【问题描述】:
我需要在这种情况下使用两种不同的验证。第一个需要显示,如果没有选择值并且提交了表单。
当用户选择“是”作为答案时,应立即验证第二个。 到目前为止,ajax 请求工作正常,但是当没有选择任何值时,我只收到一个警告: (有一些未处理的 FacesMessage,这意味着不是每个 FacesMessage 都有机会被渲染。这些未处理的 FacesMessage 是:……)
我认为在同一 p:message 中捕获来自 p:selectOneRadio-Tag 的不同消息存在问题。谁能验证我的想法?结合这两种不同类型的验证,还有哪些其他可能的解决方案? 代码如下:
<h:form id="formHealtData">
<p:panelGrid columns="1"
layout="grid"
cellpadding="5">
<h:outputLabel for="hQuestion1"
value="FirstQuestion" />
<p:selectOneRadio id="hQuestion1"
value="#{applicationData.hQuestion1}"
required="true"
requiredMessage="Please answer the question!">
<f:selectItem itemValue="#{true}" itemLabel="Yes" />
<f:selectItem itemValue="#{false}" itemLabel="No" />
<f:validator for="hQuestion1"
validatorId="trueQuestionValidator" />
<p:ajax event="change" update="messQ1" />
</p:selectOneRadio>
<p:message id="messQ1"
for="hQuestion1" />
</p:panelGrid>
<p:commandButton id="next"
value="Next"
action="paymentdata">
</p:commandButton>
</h:form>
【问题讨论】:
标签: validation jsf primefaces message