gpt4 book ai didi

validation - 如何验证 JSF 中的多个字段?

转载 作者:行者123 更新时间:2023-12-04 22:47:20 24 4
gpt4 key购买 nike

我正在 JSF 中进行验证,我看到了很多非常基本的逻辑示例。坦率地说,我将它们与 HelloWorld 示例归为同一类别。我无法想象在 xhtml 文件中放置错误消息,对每个验证字段使用单独的验证方法或使用 bean 验证。

我想做的是在支持 bean 上有一个方法,它将对每个字段执行验证,记录由 i18n 属性文件中的键驱动的错误消息。

这能做到吗?如果是这样,我们如何将该方法注册为验证方法,我们如何获取提交的字段值以进行评估,以及我们如何注册错误消息?

最佳答案

<h:inputText id="username" value="#{bean.username}" label="UserName" binding="#{bean.component}"/>
<h:message for="username" />
<h:commandButton value="Submit" action="#{bean.actionMethod}" />

在你的 bean 类中,

private UIComponent component;

public UIComponent getComponent() {
return component;
}

public void setComponent(UIComponent component) {
this.component = component;
}

public String actionMethod() {
if (!validate()) {
return null;
}
// do your action method logic
}

private boolean validate() {
FacesContext context = FacesContext.getCurrentInstance();

//do validation for your fields and add to faces messages
FacesMessage msg = new FacesMessage(severity, summary, detail);
context.addMessage(component.getClientId(), msg);

// do for other fields

return status;
}

引用这里获取组件客户端id

How to add a message to a specific component from JSF backing bean

关于validation - 如何验证 JSF 中的多个字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20822519/

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