给出以下代码:
<h:inputText id="minRate" value="#{bakingController.minRate}">
<f:convertNumber type="currency" pattern="#{msg.currencyPattern}" maxFractionDigits="0"/>
<f:ajax event="keyup" listener="#{bankingController.listProviders()}" execute="minRate" render="minRate btn-submit" disabled="#{facesContext.validationFailed}"/>
</h:inputText>
如果第一个keyup-event的验证失败,我想禁用ajax-listener,例如用户输入一些非数字。但是当我清除输入字段或输入有效数字时,虽然父字段被重新渲染,但它不会被重新激活。我该怎么解决?
你可以回答帮助。
答案 0 :(得分:0)
有一种思维缺陷-.-
如果输入符合相应的格式,我必须使用javascript验证。如果javascript-function返回true,则只调用侦听器。所以不需要disabled属性。
<h:inputText id="minRate" value="#{bakingController.minRate}" onkeyup="return $.isNumeric(this.value)">
<f:convertNumber type="currency" pattern="#{msg.currencyPattern}" maxFractionDigits="0"/>
<f:ajax event="keyup" listener="#{bankingController.listProviders()}"
execute="minRate" render="minRate btn-submit"/>
</h:inputText>