繁体   English   中英

当jsf验证失败时,跳过ajax

[英]when jsf validation failed, ajax is skipped

我有这个代码:

<p:inputText id="abc"  value="#{myBean.name}" >

    <f:validator validatorId="mandatoryInput" />

    <p:ajax  event="change"  update="..."  listener="#{myBean.myFunction()}" />

</oct:inputTextUpper>

当Validator抛出新的ValidatorException时,将被跳过。 即使验证失败,也可以启动myFunction()吗? 谢谢 :)

这是默认的JSF行为。 作为一项工作,您可以使用f:event:

<p:inputText id="abc" value="#{myBean.name}">
    <f:validator validatorId="mandatoryInput" />
    <p:ajax  event="change"  update="..."  listener="#{myBean.myFunction}" />
    <f:event type="preRenderComponent" listener="#{myBean.callMyFunction}" />
</p:inputText>

在MyBean中添加以下方法:

public void callMyFunction(ComponentSystemEvent e) {
    UIInput input = (UIInput) e.getComponent();
    if (!input.isValid()) {
        myFunction();
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM