我在JSF页面上有一个自定义验证器,我使用view param将callbackUrl
的值设置为URL中收到的Backing Bean。
例如,
http://localhost:8080/myapp/index.jsf?callbackUrl=google.com
JSF:
<f:metadata>
<f:viewParam id="callbackUrl" name="callbackUrl"
value="#{userbean.callbackUrl}">
<f:validator validatorId="com.me.something.CallbackUrlValidator" />
</f:viewParam>
</f:metadata>
我有一个自定义验证程序,用于检查URL是否有效。自定义验证程序在页面加载期间执行一次,在页面提交期间执行一次我希望只有验证器才能在页面提交期间启动。无论如何我能做到吗?
答案 0 :(得分:1)
<f:validator>
标记具有disabled
属性。
要检查当前请求是否为回发(表单提交),请检查FacesContext#isPostback()
。
<f:validator ... disabled="#{not facesContext.postback}" />