当前位置: 首页 > 知识库问答 >
问题:

如何跳过ajax调用的验证?

张建树
2023-03-14

我有一个h:inputText、h:selectonemenu和commandbuton。Inputtext是必填字段,我已将其定义为immediate=“true”。然后,当我单击按钮时,我想将selectonemenu的当前值传递给托管bean。但它的passig为空。如何管理此验证,以便它允许我在托管bean中获取selectOneMenu的值。。

我的代码是...

<h:inputText id="inputSome" required="true" requiredMessage="Pls enter something"/>
        <h:message for="inputSome"></h:message>
        <h:selectOneMenu id="recepients" value="#{controller.selected}" immediate="true">
            <f:selectItem itemLabel="Select" itemValue=""/>
            <f:selectItems value="#{controller.tempNameList1}"></f:selectItems>


        </h:selectOneMenu>

        <p:commandButton value="Add" action="#{controller.submit}"
            immediate="true"/>

共有1个答案

呼延俊风
2023-03-14

当您在命令按钮中放置立即=true时,Invoke Application阶段将直接执行,跳过(并包括)验证后的阶段。因此,“应用模型值”阶段也被跳过,托管bean的属性保持未初始化。这会导致您将selectOneMenu的值传递为null。解决方案是,您必须手动检索控制器的选择的属性的值,如下面所示:

 Map<String, String> paramMap = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap();

    for (String key : paramMap.keySet()) {
        if (key.contains("recepients")) {
            selected = Integer.parseInt(paramMap.get(key));
        }
    } 
 类似资料:
  • 我们的申请有两个部分。 在Java8中编写的后端,它使用泽西2.0公开了不同的RESTendpoint。 使用React和其他节点模块构建的单页应用程序UI。 Web界面使用Okta支持的SAML2.0身份验证作为身份提供者。后端创建HTTP会话并在cookie中发送JSESSIONID。 现在,UI调用其余endpoint来显示数据。我们需要在RESTAPI中添加一个身份验证层,我在这里问了另外

  • 我希望创建一个保存到MongoDB的新文档,不管它是否有效。我只想在模型保存调用时暂时跳过mongoose验证。 在我的CSV导入案例中,CSV文件中不包括一些必填字段,尤其是其他文档的引用字段。然后,以下示例的mongoose validation required检查未通过: 是否有可能让Mongoose知道不执行验证中的调用? 我也试过这个模型。create(),但它也会调用验证过程。

  • 我正在尝试通过空手道关闭SSL证书验证。现在我得到了错误: javax.net.ssl.sslHandShakeException:Sun.Security.Validator.ValidatorException:PKIX路径构建失败:Sun.Security.Provider.CertPath.SunCertPathBuilderException:找不到请求目标的有效证书路径

  • 问题内容: 我一直在努力使AJAX与Jquery一起使用。到目前为止,我最大的问题是我真的不知道如何弄清楚我在哪里犯错。我真的没有调试AJAX调用的好方法。 我正在尝试建立一个管理页面,其中我要执行的功能之一就是更改SQL数据库中设置的权限。我知道.click函数正在被触发,因此我将其范围缩小了,但是我不确定从AJAX调用到SQL查询的链在哪里出了问题。 我的.js代码: 我的.php处理程序:

  • 问题内容: 我正在寻找一种与Mockito进行验证的方法,即在测试过程中与给定的模拟没有任何交互。对于具有验证模式的给定方法,很容易实现这一点,但是我还没有找到完整模拟的解决方案。 我真正想要实现的是:在测试中验证,没有任何内容打印到控制台上。jUnit的总体思路如下: A 有很多方法,我真的不想用单独的验证方法来验证每个方法,而… 因此,我希望,如果有一个简单的解决方案,鉴于我具有良好的测试覆盖

  • 本文向大家介绍如何通过AJAX调用传递JavaScript变量?,包括了如何通过AJAX调用传递JavaScript变量?的使用技巧和注意事项,需要的朋友参考一下 要通过AJAX调用传递JavaScript变量,请替换以下内容- 与- 示例 尝试以下代码以通过AJAX调用正确传递变量-