JSF 2.0 禁止在 actionListener 中验证失败后调用动作 [英] JSF 2.0 Forbid calling action after failed validation in actionListener

查看:18
本文介绍了JSF 2.0 禁止在 actionListener 中验证失败后调用动作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个用于添加一些数据的对话框:

I have a dialog for adding some data:

<p:commandButton id="save" 
    actionListener="#{adminNationalController.saveTeam}" 
    action="#{adminManageInternationalTournamentController.updateTeamList}"
    value="#{msg.save}" ajax="true"
    icon="ui-icon-check"
    onmousedown="return validateSubmit('addCombinedTeamForm', ['name'],'lang')"
    oncomplete="if (!args.validationFailed) addCombinedTeamDialog.hide()"
    process = "@form"
    update="lang, name, :manageTournament:dataList,:manageTournament:scroll, :menuForm:growl, :manageTournament:nationalTeam">

    <f:setPropertyActionListener 
        value="#{adminNationalController.newTeamBean}"
        target="#{adminManageInternationalTournamentController.newTeamBean}"/>

</p:commandButton> 

saveTeam 中,我尝试验证数据,但 action 以防验证失败.

In saveTeam I try to validate data but action case in case validation failed.

是否可以禁止调用操作?

Is it posible forbid calling action?

推荐答案

对于动作侦听器,当您想中止其余动作侦听器的处理时,您应该抛出 AbortProcessingException最后的行动.

From an action listener, you're supposed to throw AbortProcessingException when you want to abort the processing of the remaining action listeners and the final action.

然而,最好在输入组件上使用真正的 Validator.这样就可以绕过整个调用操作阶段.

However, better would be to use a real Validator on the input component. This way the whole invoke action phase will be bypassed.

这篇关于JSF 2.0 禁止在 actionListener 中验证失败后调用动作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆