我有一个包含两个inputText组件的复合组件。 复合组件管理包含两个整数的bean。
class valueBean {
private Integer valueA;
private Integer valueB;
//getters, setters.
}
<composite:interface componentType="valueBeanUI">
<composite:attribute name="value">
</composite:interface>
<composite:implementation>
<h:inputText id="inputA"/>
<h:inputText id="inputB"/>
</composite:implementation>
在我的valueBeanUI中,我实现了getConvertedValue和encodeBegin。
一切都按预期工作 - 当我点击提交时,调用getConvertedValue中的代码,如果用户在整数字段中输入字符,我可以抛出错误消息。
我想要做的是能够在两个字段中都要求有效值,并在不满足此条件时显示一条错误消息。当用户点击提交时,我有这个工作,但我想在任一字段(inputA或inputB)的模糊时触发它。当两个字段模糊时,我无法弄清楚如何验证支持组件。谁能建议一种方法来实现这一目标?我不想提交整个表单 - 我想通过ajax来完成这个组件。
答案 0 :(得分:0)
只需在输入中添加<f:ajax event="blur">
即可。
<h:inputText id="inputA">
<f:ajax event="blur" execute="@this inputB" render="messageForInputA messageForInputB" />
</h:inputText>
<h:inputText id="inputB">
<f:ajax event="blur" execute="@this inputA" render="messageForInputA messageForInputB" />
</h:inputText>
messageForInputA
应指向<h:message id="messageForInputA">
。