使用 JSF 验证更改 CSS 样式

2024-02-14

我正在研究在 JSF 服务器端验证后以红色突出显示失败的字段的要求。无法使用 javascript 进行验证。有没有一种方法可以将服务器端验证与 css 样式更改链接起来?


您可以使用托管 bean 来执行此操作:

public class ValidBean {

  private UIComponent myComponent;

  public UIComponent getMyComponent() {
    return myComponent;
  }

  public void setMyComponent(UIComponent myComponent) {
    this.myComponent = myComponent;
  }

  public String getErrorStyle() {
    FacesContext context = FacesContext
        .getCurrentInstance();
    String clientId = myComponent.getClientId(context);
    Iterator<FacesMessage> messages = context
        .getMessages(clientId);
    while (messages.hasNext()) {
      if (messages.next().getSeverity().compareTo(
          FacesMessage.SEVERITY_ERROR) >= 0) {
        return "background-color: red";
      }
    }
    return null;
  }
}

请求范围变量:

  <managed-bean>
    <managed-bean-name>validBean</managed-bean-name>
    <managed-bean-class>stylevalid.ValidBean</managed-bean-class>
    <managed-bean-scope>request</managed-bean-scope>
  </managed-bean>

示例视图:

  <f:view>
    <h:form>
      <h:inputText binding="#{validBean.myComponent}" styleClass="foo"
        style="#{validBean.errorStyle}">
        <f:validateLength minimum="6" />
      </h:inputText>
      <h:commandButton />
      <h:messages />
    </h:form>
  </f:view>

该组件绑定到支持 bean。如果组件的错误消息已排队,它将用其 style 属性覆盖其 CSS 类设置。

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

使用 JSF 验证更改 CSS 样式 的相关文章

  • 无法正确显示行

    我应该在这个问题的开头说我完全没有 html css javascript 背景 所以请对我宽容点 如果我使用了错误的术语或者问了一个愚蠢的问题 没有提供足够的信息 请抱歉 我正在尝试让一个可扩展的表工作 通过阅读论坛线程 教程 将 nex
  • 理解 z-index:该元素如何出现在其父级同级元素的前面?

    为什么当我删除时红色 div 位于绿色 div 前面z index from wrapperRed 感觉像z index是沿着链条向上继承的 如果我改变z index将绿色 div 更改为 6 即使删除第一句中描述的行后 它仍保留在红色 d
  • 单击导航项锚链接时如何关闭切换菜单

    请看我的FIDDLE http jsfiddle net ayhpp8ax 我有一个带有 响应式 导航菜单 带有指向页面上元素的锚链接 的 1 页网站 当浏览器视口小于特定宽度 在我的情况下为 767px 时 使用此 javascript
  • 在 Android 上禁用标注(上下文菜单)

    在网络应用程序中 我需要禁用移动浏览器在触摸并按住 长按 触摸目标 例如 img 或链接 我已经在使用了 webkit touch callout none 它在 iPhone 和 iPad 上运行良好 但似乎不适用于 Android 在
  • 使用 python 在一个 html 页面中显示分割数据框的 HTML 代码

    我是 html css 新手 所以对以 html 格式显示的数据有疑问 我有一个很长的列表 我想将其拆分并以 html 格式显示为两个单独的列 例如 而不是 Col1 Col2 1 a 2 a 3 a 4 a 5 b 6 b 7 b 8 b
  • 在 ember-cli 中安装 Foundation 5

    我对 ember 相当陌生 对构建工具也很陌生 我目前正在使用通常的基础安装以及基础 cli 和指南针来编译我的 css 这有点痛苦 并且对于团队工作来说非常糟糕 我认为用 Bower 安装文件并使用会更好ember cli compass
  • 如何在Yii框架中向Form添加类?

    我在 Yii 中有一个表单 我想向该表单添加一个类
  • 如何使用javascript确保元素仅在圆上朝一个方向移动?

    好吧 我承认我对三角学真的很糟糕 出于上下文的考虑 我将添加我在这里提到的问题中的内容 参考问题 https stackoverflow com a 39429290 168492 https stackoverflow com a 394
  • 如何通过单击链接来更改 div 的内容?

    这是我的网页的 修改后的 jsfiddle 它还有很多 而且定位是正确的 与此相反 http jsfiddle net ry0tec3p 1 http jsfiddle net ry0tec3p 1 a href class btn1 st
  • -webkit-box-shadow 与 QtWebKit 模糊?

    当时有什么方法可以实现 webkit box shadow 的工作模糊吗 看完这篇评论错误报告 https bugs webkit org show bug cgi id 23291 我认识到这仍然是一个问题 尽管错误报告被标记为RESOL
  • 如何在 select2 下拉列表中换行?

    我正在使用 select 2 下拉菜单 然后在其内容中显示一些长句子 我想在句子的正确位置添加换行符 但下拉菜单是自动调整的 For example the content of the dropdown right now looks l
  • 当共享相同的行和列时,将网格项设置为不重叠

    现在 当两个网格项共享相同的行和列时 它们会相互重叠 div class some grid container div Item 1 div div Item 2 div div 我如何让它们不重叠 当共享相同的行和列时 其行为可能类似于
  • 先按行再按列布局 div

    我有一个容器div and 3 div里面如下 div div 1 div div 2 div div 3 div div 不知道每一个的内容div内部 但它们的高度和宽度是可变的 集装箱的高度由最高的决定div inside 我想展示这些
  • 如何在更大的 div 中垂直和水平居中一个 div?

    如何将一个 水平居中于另一个 中 我设法使用已接受答案中的样式水平居中 我怎样才能让它垂直居中 内部 div 的高度未知 https stackoverflow com questions 114543 how to center div
  • 响应式图像 - srcset 和尺寸属性 - 如何正确使用两者:基于设备像素比和基于视口的选择一起?

    到目前为止 我经常读到这个问题 并且它也发生在我自己的项目中 这里介绍一下我到目前为止所发现的关于 srcset 和 size 属性的内容 关于如何使用有两种不同的可能性srcset 属性 来源 w3c http w3c github io
  • 删除子元素上的 CSS 过滤器

    我的 CSS 代码有问题 正如您所看到的 我在 li 元素上有过滤器 但它覆盖了其他元素 我需要使其他两个元素没有过滤器 有没有可能这样做 main width 300px height 300px background color blu
  • 使用 CSS 使一行 div 高度相同

    我有一排必须具有相同高度的 div 但我无法提前知道该高度可能是多少 内容来自外部源 我最初尝试将 div 放置在封闭的 div 中并将它们向左浮动 然后我将它们的高度设置为 100 但这没有明显的效果 通过将封闭 div 的高度设置为固定
  • 可以设置标题样式吗? (并且使用CSS或js?)[重复]

    这个问题在这里已经有答案了 我想知道是否可以设计一个title a href title This is a title Hello a 样式问题有两个方面 文本格式 编码 我猜这是可能的 所以在问题中这样做 工具提示样式 你能把它弄大一点
  • CSS3 信封形状

    正如您可能已经猜到的 该图像是邮件信封形状的一部分 如果可能的话 我想使用 CSS3 创建该形状 我已经制作了其他部分 但这个很棘手 该形状需要两侧都有三角形切口和圆角 大概是 border radius bottom left borde
  • 表格行未扩展到全宽

    我有一个表格 当我将表格的宽度设置为 100 并将表格行的宽度设置为 100 时 没有任何反应或宽度发生变化 Table Normal position relative display block margin 10px auto pad

随机推荐

  • 当 MATLAB 找不到我要打开的文件时,阻止 MATLAB 创建新文件

    我经常尝试使用以下命令从 MATLAB 命令窗口打开现有的 MATLAB 文件 edit exampleFile 或者 我可以按cmd shift D并在编辑器中突出显示要打开的函数的名称 但是 如果在使用这两种方法时我希望打开的函数不在路
  • Python 中的埃拉托斯特尼筛法

    我正在尝试编写一个python函数来返回小于给定值的素数个数以及所有素数的值 我需要使用埃拉托斯特尼筛法算法 我相信我在函数中遗漏了一些东西 例如 当我想找到 100 以下的素数时 我得到的只是 2 3 5 7 我知道如果我不使用 平方根
  • Laravel 在 Trait 内重定向

    trait foo public function bar redirect not working use Traits class DonController extend Controller use Traits foo this
  • 如何反转 DataGridView 中的行

    我正在使用数据网格 但这些值没有按照我希望的方式显示 我当前的代码如下 我将如何反转行 string strOutput strLine Split int totalRows Convert ToInt16 strOutput 4 int
  • PHPUnit 中默认运行单个测试套件

    我的 PHPUnit 配置文件有两个测试套件 unit and system 当我运行测试运行程序时vendor bin phpunit 它运行两个套件中的所有测试 我可以通过以下方式定位单个套件testsuite flag vendor
  • 原则 2 紧密联系

    我将doctrine 2 PDO 与mysql 一起使用 对服务器进行压力测试时 mysql 报告大量中止连接 高达 20 我正在尝试找出问题所在 Mysql手册建议确保正确关闭与数据库的连接 http dev mysql com doc
  • 如何在循环中获取当前迭代器项的索引? [复制]

    这个问题在这里已经有答案了 如何获取Python当前项的索引iterator https docs python org 3 7 glossary html term iterator在循环中 例如当使用正则表达式时finditer返回迭代
  • 在javascript中将json对象写入文本文件

    我在 javascript 中有一个 JSON 对象 我想简单地将 JSON 对象写入文本文件 从我到目前为止遇到的事情来看 由于客户端的安全问题 不可能这样做 有解决方法吗 如果最初放置一些虚拟值 是否可以修改已存在的文件 Thanks
  • 如何通过操作base64代码来调整base64图像的大小或更改分辨率?

    有很多将图像编码为 Base64 的示例 有没有办法通过简单地操作实际的 Base64 编码内容来更改该图像的大小或分辨率 您的 base64 代码可能是 iVBORw0KGgoAAAANSUhEUgAAAWQAAAFjCAIAAACFfO
  • Microsoft Azure 媒体服务上的类似 Skype 的应用程序

    目前我正在研究一个类似 Skype 的应用程序的想法 例如 人们与其他人进行视频通话 现在我想运行这个微软Azure媒体服务 http azure microsoft com en us services media services 但是
  • R - 使用 rgl 绘制由平面描述的区域

    我想绘制一个多面体 它由以下不等式描述 3 x 5 y 9 z lt 500 4 x 5 z lt 350 2 y 3 z lt 150 x y z gt 0 它是一个线性规划 目标函数为 4 x 3 y 6 z 多面体是该程序的可行区域
  • R-cran 中使用线条、点或类似颜色填充箱线图

    我需要在 R 中为箱线图使用黑白颜色 我想用线条和点对箱线图进行颜色填充 举个例子 我想ggplot2可以做到这一点 但我找不到任何方法来做到这一点 预先感谢您的帮助 我认为这是一个很好的问题 并思考是否可以在 R 基础上做到这一点并获得方
  • 如何使用 Pyinstaller 捆绑 .jar 文件

    你怎么获得py安装程序 http www pyinstaller org将 jar 文件捆绑为使用它们的 python 项目的档案 例如 要制作一个 exe 文件 我正在使用pyjnius http pyjnius readthedocs
  • 如何将 Integer 转换为 int?

    我正在开发一个网络应用程序 其中数据将在客户端和服务器端之间传输 我已经知道 JavaScript int Java int 因为 Java int 不能为 null 对吧 现在这就是我面临的问题 我将 Java int 变量更改为 Int
  • Android Lollipop 中是否可能有一个不共存的“个人资料所有者”应用程序

    Lollipop API 提供了 2 个新功能 配置文件所有者 和 设备所有者 http developer android com about versions android 5 0 html Enterprise http devel
  • Spring-MVC控制器中触发404?

    我如何获得Spring http en wikipedia org wiki Spring Framework3 0控制器触发404 我有一个控制器 RequestMapping value method RequestMethod GET
  • Android 的氛围

    首先 我打算使用气氛 https github com Atmosphere atmosphere在服务器端和客户端都有一个带有 WebView 的 Android 应用程序 我将在其中使用 jQuery 但是 稍后计划推出更 标准 的 A
  • SSRS 包含或类似表达式

    我正在尝试从数据集中的字段创建计算表达式 我需要从一个字段中查找包含 交易所交易 一词的所有内容 并且在我的新字段中包含 ETF 13F 一词 如果没有任何匹配 那么它就只是空白 我已经尝试过喜欢 交易所交易 并包含 交易所交易 函数 并且
  • 使用进程生成器或 apache commons exec 执行外部程序

    我需要执行一个外部应用程序 该应用程序返回大量数据 需要 2 个多小时才能完成 并且连续输出数据 我需要做的是异步执行该程序并将输出捕获到文件中 我尝试使用 java process builder 但是它似乎仅在程序退出或强制终止时才挂起
  • 使用 JSF 验证更改 CSS 样式

    我正在研究在 JSF 服务器端验证后以红色突出显示失败的字段的要求 无法使用 javascript 进行验证 有没有一种方法可以将服务器端验证与 css 样式更改链接起来 您可以使用托管 bean 来执行此操作 public class V