我正在尝试使用 validateOrder 组件来验证两个 java.util.Date 对象。它类似于展示示例 on this link (PrimeFaces example) 。一切都很完美,但我有一个问题:
如果不需要第二个日期字段怎么办?
在这种情况下,我收到空指针异常,并且由于 validateOrder 具有“禁用”属性,我想知道每次插入/删除第二个日期时是否值得/可能通过 ajax 启用/禁用它。如果没有,我想我会坚持使用 Balus 的 JSF2.0 跨领域验证方法 that you can read about on this link .
最佳答案
让disabled
属性检查第二个字段是否填写。如果没有填写,则与字段的客户端ID关联的请求参数值为空。使用 exaclty 让 disabled
属性计算为 true
。
<p:calendar ... binding="#{endDate}" />
...
<o:validateOrder ... disabled="#{empty param[endDate.clientId]}" />
代码按原样。绑定(bind)不需要额外的支持 bean 属性。
另请参阅:
关于validation - OmniFaces validateOrder 禁用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20908074/