如何在 PrimeFaces 的工具提示上显示错误消息时摆脱空工具提示?

2024-01-10

我在某处显示错误消息<p:tooltip>如下。

<p:inputText id="text" value="#{bean.text}" required="true"/>

<p:tooltip for="text">
    <p:message for="text"/>
</p:tooltip>

尽管它在给定的工具提示中显示错误消息,但当没有错误时,会显示空的/不必要的工具提示,如下图所示 - 在文本框的右下角旁边。

如何摆脱这种空的工具提示? (我尝试过但没有成功)


可以通过检查列表中的错误消息来完成java.util.List<FacesMessage>可以通过使用获得facesContext.messageList.

The rendered的属性<p:tooltip>可以根据在相关组件列表中找到的错误消息进行设置。

rendered="#{not empty facesContext.getMessageList('clientId')}"

一个工作代码片段:

<h:form id="form">
    <p:panel id="panel">
        <p:inputText id="text" value="#{bean.text}" required="true"/>

        <p:tooltip for="text" rendered="#{not empty facesContext.getMessageList('form:text')}">
            <p:message for="text"/>
        </p:tooltip>

        <p:commandButton value="Submit" update="panel"/>
    </p:panel>
</h:form>

或者通过使用组件绑定。例如,

<p:inputText id="text" binding="#{inputComponent}" value="#{bean.text}"/>

<p:tooltip for="text" rendered="#{not empty facesContext.getMessageList(inputComponent.clientId)}">
    <p:message for="text"/>
</p:tooltip>

Or even

<p:inputText id="text" binding="#{inputComponent}" value="#{bean.text}"/>

<p:tooltip for="text" rendered="#{not inputComponent.valid}">
    <p:message for="text"/>
</p:tooltip>

最后两种情况非常有用,特别是当(输入)组件包含在迭代组件(如<p/h:dataTable>, <p:dataGrid>, <p:dataList>(甚至<ui:repeat>)其中封闭组件的唯一性是根据迭代组件的迭代行索引确定的,例如,form:dataTable:0:text, form:dataTable:1:text, form:dataTable:2:text... 等等

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 PrimeFaces 的工具提示上显示错误消息时摆脱空工具提示? 的相关文章

随机推荐

  • AM_LDFLAGS 和 LDFLAGS 有什么区别

    我想知道 AM LDFLAGS 和 LDFLAGS 之间有什么区别 因为我遇到了错误 error AM LDFLAGS must be set with before using 当我在 foreach 循环中使用 AM LDFLAGS 时
  • 接口与抽象类(一般面向对象)

    我最近接受了两次电话采访 被问到接口和抽象类之间的区别 我已经把我能想到的各个方面都解释了 但他们似乎在等我说一些具体的东西 而我也不知道那是什么 根据我的经验 我认为以下内容是正确的 如果我遗漏了一个要点 请告诉我 界面 接口中声明的每个
  • 如何从文档中排除某些字段

    我有以下简单的示意图 var userSchema new Schema name String age Number creator Schema ObjectId var User mongoose model User userSch
  • Python,二维列表和坐标

    我有一个二维列表 def list list1 1 2 3 4 5 list2 0 0 0 0 0 list3 6 7 8 9 10 list list1 list2 list3 for i in list print i list 6 的
  • 如何从 Maven Java 项目加载外部属性文件

    我有一个 Maven Java 项目 其属性文件位于 src main resources 目录中 我打包了jar 但jar中没有属性文件 因此可以将其部署到具有不同设置的不同环境中 但单元测试失败 项目结构是 Properties App
  • asp.net core 1.0 web api使用camelcase

    On RC2相同的代码返回带有驼峰大小写的 json 格式 在 netcore 1 0 发布后 我开始了新项目 相同的代码以小写形式返回 json 尝试了多种解决方案 但没有一个有效web api serialize properties
  • 如何在 PHP 中反转多维数组

    反转多维数组的最简单方法是什么 我所说的反转是指与 array flip 类似 e g 0 5 var name data 0 3 var name2 data2 1 var name3 data3 0 1 4 var name4 data
  • 使用 webdriverjs 等待页面完全加载

    使用 JavaScript 的 selenium webdriver 等待页面完全加载的最佳方法是什么 我注意到这个问题 https stackoverflow com questions 5868439 wait for page loa
  • Java ExecutorService:我应该在使用execute之前加锁吗?

    我的班级组织如下 public class MyClass ExecutorService pool public MyClass pool inited by a class that implements ExecutorService
  • UIButton 过度敏感

    我在 tableviewCellWithReuseIdentifier 中定义了一个 UIButton 该按钮可以使用 但非常敏感 如果我只需点击按钮 它就会起作用 长时间按下它不会触发该操作 即使它确实闪烁表明它知道它被按下了 为什么会发
  • 移除观察员是强制性的(必要的)吗?

    有一个观察者 我在整个应用程序生命周期中都需要它 我应该删除它吗 我认为GC应用程序关闭后将删除它 对吗 如果是的话 我什么时候删除它 在deinit 如果您为 iOS 8 及之前版本提供支持 你必须移除里面的观察者dealloc or v
  • Google 地图实用程序 IOS Pod 错误

    我在使用 pod 将 Google Maps IOS 实用程序 用于标记聚类 添加到我的 swift xcode 项目中时遇到问题 当我跑步时pod install它失败并出现以下错误 Pods App 目标具有传递依赖关系 其中包括静态
  • 我的 IP 在 PHP 主服务器中显示错误

    好吧 足够简单 好吧 也许不是 我的 IP 目前是72 184 212 85然而 上面我在脚本的 IP 阻止系统上使用的代码将我的 IP 显示为我的家庭服务器 IP127 0 0 1 因此 当我转到脚本时 我的 IP 显示为127 0 0
  • 在 Android 上获取 OAuth2 令牌时 UNREGISTERED_ON_API_CONSOLE

    我们使用 Android Jellybean 及更高版本 并且我们有一个应用程序需要使用 OAuth2 与 Google 进行身份验证 我简化了登录活动 但它看起来像这样 AccountManager mAccountManager Acc
  • 在 npm 脚本中运行 2 个命令(nodemon && sass --watch)

    我有一个 package json 文件 如下所示 scripts test echo Error no test specified exit 1 start node src app js dev nodemon src app js
  • 我应该在 Windows 消息框中使用警告图标还是问号图标?

    许多人都知道MessageBoxIcon类型为 问题 如果你对这个图标不是特别熟悉 它只是一个美化的问号 我很好奇这个图标在专业应用程序中是否可以接受 例如 假设我有一个按钮 单击该按钮将清除整个表单上的所有文本字段 单击按钮时 我想警告用
  • 是否可以为气泡图制作图例?

    目前 互联网上没有使用 dc js 和 dc legend 函数的带有图例的气泡图的示例 that sessions scatterplot width 830 height 350 transitionDuration 1000 marg
  • 属性列表还是继承丛林?

    我有 2 个应用程序 我们称它们为 AppA 和 AppB 相互通信 AppA 正在向 AppB 发送对象 可能有不同的对象 AppB 并不支持每个对象 一个对象可以是一个模型 想象一下游戏 其中模型是车辆 房屋 人等 可能有不同的 App
  • 铬中的 SQLite

    是否可以制作像 Firefox 扩展一样与 sqlite 数据库交互的 chrome 扩展 您能给我一些建议或链接吗 哪里有关于开发与 sqlite 交互的 chrome 扩展的更多信息 谢谢 您可以使用网络 SQL API http de
  • 如何在 PrimeFaces 的工具提示上显示错误消息时摆脱空工具提示?

    我在某处显示错误消息