【问题标题】:Passing argument to Resource file in o:validateOrder OmniFaces 2.0在 o:validateOrder OmniFaces 2.0 中将参数传递给资源文件
【发布时间】:2015-04-29 09:53:50
【问题描述】:

您好,我正在开发和应用:

.JSF 2.1 .OmniFaces 2.0

我有一个带有占位符的资源文件

comun.abm.fecha.factura.menor.ultimo.comprobante=La fecha de la Factura tiene que ser mayor o igual a la ultima fecha de emision del ultimo comprobante: {0}

我有这个验证:

<h:outputLabel value="#{msgs['facturacion.abm.generacion.padron.fecha.factura']}" 
               for="fechaFactura"/>

<rich:calendar
    id="fechaFactura"
    datePattern="dd/MM/yyyy"
    showWeeksBar="false"
    enableManualInput="true"
    value="#{generacionPadronController.padronBean.fechaFactura}" />

<h:panelGroup>
    <rich:message for="fechaFactura"/>

    <o:outputFormat value="#{msgs['comun.abm.fecha.factura.menor.ultimo.comprobante']}" 
                    var="_validacion">
        <f:param value="#{generacionPadronController.fechaEmisionComprobanteUltima}" />
    </o:outputFormat>

    <o:validateOrder id="validacionFechaFacturaMayorAFechaEmisionUltimoComprobante"
                     type="lte"
                     components="fechaFactura fechaEmisionComprobanteUltima"
                     message="#{_validacion}"
                     showMessageFor="fechaFactura">
    </o:validateOrder>
</h:panelGroup>

验证有效并向我发送空消息,可能是因为变量没有值,任何其他想法来完成此操作(使用 o:validateOrder 将参数传递给包)。

PD:我打印了#{_validacion} 并在页面中正常工作,但在触发验证时为空。

【问题讨论】:

  • 不,这个 var="_validacion" 是 o:outputFormat 的结果。我知道该值丢失了,因为可能是请求范围,但我需要另一种方法在 o:validateOrder 消息中传递参数

标签: validation jsf omnifaces


【解决方案1】:

&lt;o:outputFormat var&gt; 在渲染响应阶段设置。但是,&lt;o:validateXxx message&gt; 在验证阶段进行评估,这为时过早。

最好改用#{of:format1()}函数。

<o:validateOrder id="validacionFechaFacturaMayorAFechaEmisionUltimoComprobante"
                 type="lte"
                 components="fechaFactura fechaEmisionComprobanteUltima"
                 message="#{of:format1(msgs['comun.abm.fecha.factura.menor.ultimo.comprobante'], generacionPadronController.fechaEmisionComprobanteUltima)}"
                 showMessageFor="fechaFactura">
</o:validateOrder>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-13
    • 2015-01-25
    相关资源
    最近更新 更多