【问题标题】:Omnifaces validateMultiple component only takes UIInput values, any workaround for considering UIOutput too?Omnifaces validateMultiple 组件只接受 UIInput 值,是否还有考虑 UIOutput 的解决方法?
【发布时间】:2014-03-11 14:20:13
【问题描述】:

所以,我有一个地址要验证,它有 4 个输入字段和 4 个输出字段,基本上 4 个输出字段是城市、州、县和市。没有可编辑的,因此它们将仅由邮政编码查找填充。但是当我 validate 时,我需要传入所有值,也需要传入查找值。 <o:validateMultiple> 只接受输入组件值,所以我也尝试将它们设为h:inputText,然后将它们设为disabled=true,因为它们不可编辑,但看起来<o:validateMultiple> 也忽略了禁用输入组件的值。那么,有什么替代品吗?

最初我这样做是在第一个 inputText 组件上使用 f:attributes 嵌入所有具有各自绑定的 id,并使用 JSF 验证器来获取 getAttributes 并以这种方式验证,这工作正常,但由于 validateMultiple 减少了很多,我想要使用它,但看起来并不直接。

这样的事情可能会有所帮助:

<o:validateMultiple id="myId" components="foo bar baz" validator="#{bean.validateValues}" />
    <h:message for="myId" />
    <h:inputText id="foo" />
    <h:inputText id="bar" />
    <h:inputText id="baz" />

public boolean validateValues(FacesContext context, List<UIComponent> components, List<Object> values) {
    // ...
}

任何帮助表示赞赏! 谢谢!

【问题讨论】:

    标签: jsf jsf-2 primefaces omnifaces


    【解决方案1】:

    如果您需要隐藏输入,请使用 &lt;h:inputHidden&gt;

    【讨论】:

    • 那行得通,但仍然有 UIComponent 而不是只有 UIInput 会很有帮助。非常感谢!另外,即使我没有指定任何消息属性,它仍然会抛出默认值,我该如何抑制它? P.S:我刚开始使用 OmniFaces,它很有帮助,真的很感谢你们 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-20
    • 2011-03-26
    • 1970-01-01
    • 2022-06-30
    • 2021-08-16
    • 2018-05-08
    • 1970-01-01
    相关资源
    最近更新 更多