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

已调用验证器,但未显示错误消息

戴建义
2023-03-14

这是我的代码..

<h:form id="form">
    <h:body>
        <p:panel style="width:500px">
            <h:outputLabel for="year" value="Select Year: *" style="font-weight:bold" />
            <p:selectOneMenu id="year" value="#{leaveBean.year}">
                <f:selectItem itemLabel="Select One" itemValue="null" />
                <f:selectItems value="#{leaveBean.yearDTO}" var="currentUser" itemValue="#{currentUser.name}" itemLabel="#{currentUser.name}" />
                <f:validator validatorId="LeaveCardValidator" />
            </p:selectOneMenu>
        </p:panel>

        <p:commandButton value="Submit" action="#{leaveController.leaveCard}" update="updateList,updateDetails" id="button"/>
       <h:message for="year" style="color:red"/>

共有1个答案

南门鸿畴
2023-03-14

您似乎期望JSF在每个ajax请求上自动更新 。这是不真实的。可能您对PrimeFaces的 感到困惑,它们都有一个autoupdate属性,使您能够告诉它们在每个ajax请求中自动更新自己。

您确实需要确保 包含在ajax更新中。只要给它一个身份

<h:message id="yearMessage" ... />

并将其包含在ajax更新的客户端ID集合中

<p:commandButton ... update="updateList updateDetails yearMessage" />
 类似资料:
  • 我实际上是在努力做下面的事情:我的服务类 这让我想要的没有被调用,实际上与这个模拟没有任何交互。你知道我做错了什么吗??

  • 因此,很明显,它识别出输入的名称太短,但我在视图中没有得到任何错误消息,正如这里所预期的:。

  • 我已经找到了一些答案,但我的问题仍然没有解决。 我刚刚制作了一个新的应用程序,发现注册页面上的错误消息根本没有显示出来。以下是我在本网站上找到的一些答案: 只需删除,'中间件'= 或 \照明\会话\中间件\开始会话::class,\照明\视图\中间件\ShareErrs From会话::class, 从受保护的$middlewareGroup到karnel中受保护的$middleware中间件。p

  • 问题内容: 我有一个表格,如果单击“提交”,则需要显示验证错误消息。 这是一个工作的家伙 用户开始进行更改时,验证工作正常。但是它不会显示任何错误消息。如果单击“提交”而不输入任何内容。 有实现这个的想法吗?或者以其他方式如何在单击“提交”按钮时使每个输入字段$ dirty 问题答案: 我在http://jsfiddle.net/thomporter/ANxmv/2/上找到了这个小提琴,它巧妙地进

  • 我有一个简单的网络界面,在这里我可以为交易所的个人加密货币交易选择特定的市场、价格、目标和止损点。 我添加了一些默认的laravel验证规则,其中一些显示在Web界面上,就像它们应该的那样,但其中一个特别是在它确实触发时没有,因为当我检查错误时,它确实显示在响应中。 在这里,表单显示错误,除了在停顿部分,但停顿错误没有显示在网络界面上: 我已经简化了规则,只有“要求”用于测试目的,也有更多的规则它

  • 基本上,我使用开发人员身份验证来验证我的用户。即使这个错误显示: AWSiOSSDKv2[Verbose]AWSURLResponseSerialization.m行:87 |-[AWSJSONResponseSerializer responseObjectForResponse:originalRequest:currentRequest:data:error:][124;响应主体:[{“u类