Validation JSF/Richfaces重新呈现不调用验证
我有一个JSF/Richfaces页面,其表单包含许多组件。 其中一些组件是必需的,因此required属性设置为true 我有一个commandButton(C1),它调用服务器操作。根据服务器操作的结果,填充类型为h:selectOneMenu(F1)的字段。此字段是必填字段,其值由用户手动选择或通过服务器操作填充 提交表单时,如果字段F1中没有值,则会出现此问题。验证自然会失败,并显示错误消息“value is required”(或requiredMessage属性的值)。如果用户随后执行服务器操作,则F1字段将填充返回值,并重新提交。但是,似乎没有在客户端执行验证,并且字段仍然显示为错误。即使用户在此之后手动选择值,该字段仍显示为无效。 我一直在网上搜索,但没有找到类似的案例 以下是我的页面的一些摘录:Validation JSF/Richfaces重新呈现不调用验证,validation,jsf,jsf-2,richfaces,Validation,Jsf,Jsf 2,Richfaces,我有一个JSF/Richfaces页面,其表单包含许多组件。 其中一些组件是必需的,因此required属性设置为true 我有一个commandButton(C1),它调用服务器操作。根据服务器操作的结果,填充类型为h:selectOneMenu(F1)的字段。此字段是必填字段,其值由用户手动选择或通过服务器操作填充 提交表单时,如果字段F1中没有值,则会出现此问题。验证自然会失败,并显示错误消息“value is required”(或requiredMessage属性的值)。如果用户随后执
<a:region>
<s:decorate id="alField" template="#{template}">
<ui:define name="label">Al</ui:define>
<h:inputTextarea id="al" maxlength="75" valueChangeListener="#{aEntHome.clearFields}"
requiredMessage="Required" required="true" value="#{aEntHome.instance.al}" >
<f:validator validatorId="stringNotEmtyTrimmedValidator" />
<a:support event="onblur" reRender="F1Field" bypassUpdates="true" />
</h:inputTextarea>
<a:commandButton value="Search" image="img.GIF" id="searchImg"
action="#{lSearch.search}" reRender="F1Field,alField">
</a:commandButton>
</s:decorate>
</a:region>
<s:decorate id="F1Field" template="#{template}">
<ui:define name="label">F1</ui:define>
<h:selectOneMenu value="#{aEntHome.instance.f1}" required="true" >
<s:selectItems value="#{listH.f1List}" var="_c" label="#{_c.f1Code}(#{_c.f1Name})" />
<s:convertEntity />
</h:selectOneMenu>
</s:decorate>
艾尔
一层楼
这是用于显示字段的模板:
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:s="http://jboss.com/products/seam/taglib">
<div class="prop">
<s:label styleClass="longName #{invalid?'errors':''}">
<ui:insert name="label"/>
<s:span styleClass="required" rendered="#{required}">*</s:span>
</s:label>
<span class="value #{invalid?'errors':''}">
<s:validateAll>
<ui:insert/>
</s:validateAll>
</span>
<span class="error">
<h:graphicImage value="/img/error.gif" rendered="#{invalid}" styleClass="errors"/>
<s:message styleClass="errors"/>
</span>
</div>
</ui:composition>
*
有人能告诉我这段代码可能出了什么问题吗
我只是想澄清一下——我使用的是Richfaces 3.3.1
如果您能提供任何线索,我将不胜感激。这些信息出现在哪里?如果它在重新渲染器之外,那么它们将留在那里。消息显示在字段旁边。下面是使用的模板:*我对格式设置表示歉意,但评论似乎有限制。如果您更新您的问题,会更好。我的问题是是否要重新命名?有趣的是,中的文本没有显示,但字段的外观保持不变(在我的例子中为红色)