【发布时间】:2011-11-14 16:49:28
【问题描述】:
我想在提交表单之前验证 h:selectOneMenu 和 t:inputFileUpload 是否具有有效值。我有这段代码,但是当我离开 selectOneMenu 时它没有显示 h:message,t:fileInputUpload 也会发生同样的事情。
<h:form id="uploadForm" enctype="multipart/form-data">
<h:panelGrid columns="3">
<h:outputLabel for="option" value="Operación:" />
<h:selectOneMenu id="option" value="#{menu.infoMenuItem}"
required="true"
converterMessage="Opción no valida !" >
<f:selectItem itemLabel="Seleccione una opcion..." itemValue="null"/>
<f:selectItems value="#{menu.infoMenuItems}" />
<f:ajax event="blur" render="optionMessage" />
</h:selectOneMenu>
<h:message id="optionMessage" for="option" style="color: #FF0000;" />
<h:outputLabel for="upfile" value="Archivo: " />
<t:inputFileUpload id="upfile" value="#{uploadFile.upFile}"
required="true">
<f:ajax event="blur" render="uploadMessage" />
</t:inputFileUpload>
<h:message id="uploadMessage" for="upfile" style="color: #FF0000" />
<h:panelGroup />
<h:commandButton value="Continuar"
action="#{uploadFile.upload}">
</h:commandButton>
</h:panelGrid>
</h:form>
另外,如果前面的组件没有有效值,是否有办法阻止提交表单?
干杯!
我正在使用 Mojarra 2.1.4 和 Tomahawk 1.1.11(用于上传)
【问题讨论】:
-
您忘记详细说明“它不起作用”。
-
抱歉,我已经更新了帖子。
标签: ajax validation jsf file-upload jsf-2