行动阶段的JSF验证

App*_*pps 11 validation jsf

我们有一个基于JSF的Web应用程序,它将输入表单数据提交给Web服务,然后显示Web服务提供的响应.

它是Web服务,用于验证用户输入的数据.我不确定我们如何使用JSF validation这里.根据我的理解,JSF验证视图中的各个组件.但每次发出Web服务请求的操作都非常昂贵.

相反,当用户提交表单时,我们会跳过所有验证,在action方法中发出Web服务请求.根据Web服务的响应,我们可以通过编程方式告知特定的UI组件是无效的吗?

你能否就此提出你的建议?

环境:-

JSF 2.0
WebSphere Application Server 8.5
Run Code Online (Sandbox Code Playgroud)

Bal*_*usC 20

根据Web服务的响应,我们可以通过编程方式告知特定的UI组件是无效的吗?

是的,你可以通过打电话UIInput#setValid(),传球来做到这一点false.这是完整的部分:

FacesContext context = FacesContext.getCurrentInstance();
UIInput input = (UIInput) context.getViewRoot().findComponent("form:input");
input.setValid(false);
context.addMessage(input.getClientId(context), message);
context.validationFailed();
Run Code Online (Sandbox Code Playgroud)

FacesContext#validationFailed()并不需要在每个输入的基础的方式来调用.