【问题标题】:Disable custom validator during page load在页面加载期间禁用自定义验证器
【发布时间】:2013-08-08 07:21:10
【问题描述】:

我在 JSF 页面上有一个自定义验证器,我正在使用视图参数将 callbackUrl 的值设置到 URL 中接收的支持 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 是否有效。自定义验证器在页面加载期间和页面提交期间执行一次。我只希望验证器仅在页面提交期间启动。反正我能做到吗?

【问题讨论】:

    标签: jsf-2 validation


    【解决方案1】:

    &lt;f:validator&gt; 标签有一个disabled 属性,目的就是为了。

    要检查当前请求是否是回发(表单提交),只需检查FacesContext#isPostback()

    <f:validator ... disabled="#{not facesContext.postback}" />
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-28
      相关资源
      最近更新 更多