gpt4 book ai didi

validation - PrimeFaces 的 p :wizard validation not working

转载 作者:行者123 更新时间:2023-12-03 17:44:18 25 4
gpt4 key购买 nike

我有一个 p:wizard带有一些标签。在第一个选项卡中,用户选择一个值 (t :selectOneRadio - 我正在使用 Tomahawk)。这是一个必需的值。

如果用户未选择值,则不会转到下一个选项卡,但不会显示验证错误。嗯。

如果用户选择了一个值,转到下一个选项卡,然后返回到第一个选项卡并选择一个不同的值,它的行为就像这次没有选择任何值一样。 (也没有验证错误,但无法调用第二个选项卡)。

更糟糕的是:用户在第一个选项卡中选择一个值,转到第二个选项卡,尝试从那里调用一个操作……出现验证消息;它就像在第一个选项卡中没有选择任何值一样。

对此有什么解释吗?

更新

解决方案 suggested在 PrimeFaces 论坛中为我工作。 (将 process="@this"添加到 commandButton。)

最佳答案

您可能要考虑的另一件事..

如果您在跨选项卡的必填字段方面遇到问题,您可以通过在向导组件中实现流事件,在步骤之间手动执行您自己的验证。

    public String onFlowProcess(FlowEvent event) {  
//First perform check to see if the user is attempting to remove the last visitor
if ("confirm".equals(event.getNewStep()) && (visitors == null || visitors.isEmpty())) {
log.debug("Validation failed for empty visitors");
FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_ERROR, "Visit must have at least one visitor.", null);
FacesContext.getCurrentInstance().addMessage(null, msg);
return event.getOldStep();
}

return event.getNewStep();
}

和 .xhtml 文件我声明了 flowListener 事件。试试这个,看看验证消息是否消失。
<p:wizard showNavBar="true" widgetVar="scheduler" flowListener="#{scheduleVisit.onFlowProcess}" showStepStatus="true">

关于validation - PrimeFaces 的 p :wizard validation not working,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6177427/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com