用于 bean 验证的自定义验证消息

2024-04-05

我正在创建一个 JSF 2 应用程序,并且尝试在 bean 中而不是 faces-page 中使用表单验证。我还想使用 .properties 文件来存储消息。

我在看这个问题 https://stackoverflow.com/questions/2235544/bean-validation-and-error-messages-at-properties-file但我认为我没有正确设置属性文件。

假设我有一个名为 User 的 bean,位于名为“dev”的包中:

@ManagedBean
@SessionScoped
public class User implements Serializable {

    @Pattern(pattern=".+@.+\\.[a-z]+", message="{dev.User.emailAddress}")
    private String emailAddress;

    // getter/setter
}

我还在 WEB-INF/classes 中创建了一个文件“ValidationMessages.properties”(我使用的是 Netbeans 7.0.1)

在 ValidationMessages.properties 文件中,我有这个键/值行:

dev.User.emailAddress=Custom invalid email message

我的视图(user.xhtml)如下所示:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:h="http://java.sun.com/jsf/html">
<h:head>
    <title>User registration</title>
</h:head>
<h:body>
    <h:form>
        <h:inputText id="emailAddress" value="#{user.emailAddress}" required="true" />
        <h:message for="emailAddress" />
        <h:commandButton value="Ok" action="null" />
    </h:form>
</h:body>

当我输入无效电子邮件并按下按钮时,网页中的验证消息显示:

{dev.User.emailAddress}

代替

Custom invalid email message

问题可能是我没有在 web.xml 中注册我的属性文件吗?

我也应该在 bean 中将 required="true" 切换为 @NotNull 。除了插入以下内容之外,我还需要做些什么吗?

<context-param>
    <param-name>javax.faces.INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL</param-name>
    <param-value>true</param-value>
</context-param>

如中所解释的BalusC 的博客 http://balusc.blogspot.com/2011/09/communication-in-jsf-20.html?

提前致谢!

/ Dennis


我还在 WEB-INF/classes 中创建了一个文件“ValidationMessages.properties”(我使用的是 Netbeans 7.0.1)

我知道您已将其直接放入项目中/WEB-INF/classes文件夹自己?如果您让 IDE 构建/部署 WAR,这可能会被忽略/覆盖(至少对于 Eclipse 来说是这样)。您应该将该文件直接放在项目的 Java 源文件夹的根目录中。你可以自己验证一下是否真的结束了/WEB-INF/classes,将项目导出为 WAR 文件,然后使用某些 ZIP 工具将其解压缩。

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

用于 bean 验证的自定义验证消息 的相关文章

  • 如何使用 Apache POI API 将图像添加到 pptx 中添加的图像占位符?

    我已经预定义了带有文本和图像占位符的 pptx 模板 我如何从模板访问和修改这些占位符 我可以使用 POI pptx API 直接将图像和文本添加到幻灯片中 但如何将其添加到模板的占位符中 请参阅链接以了解如何添加占位符来创建固定模板 ht
  • Eclipse 在源代码管理中保存操作

    我们希望找到一种在签入之前执行代码标准的 轻量级 方法 我们真的很喜欢使用 Eclipse 内置的想法保存操作 go to Preferences gt gt Java gt gt Editor gt gt Save Actions 其中有
  • Java:如何从转义的 URL 获取文件?

    我收到了一个定位本地文件的 URL 事实上我收到的 URL 不在我的控制范围内 URL 按照 RFC2396 中的定义进行有效转义 如何将其转换为 Java File 对象 有趣的是 URL getFile 方法返回一个字符串 而不是文件
  • Android在排序列表时忽略大小写

    我有一个名为路径的列表 我目前正在使用以下代码对字符串进行排序 java util Collections sort path 这工作正常 它对我的 列表进行排序 但是它以不同的方式处理第一个字母的情况 即它用大写字母对列表进行排序 然后用
  • OSGi:如果不取消服务会发生什么

    这是我获取 OSGi 服务的方式 ServiceReference reference bundleContext getServiceReference Foo class getName Foo foo Foo bundleContex
  • Java AES 128 加密方式与 openssl 不同

    我们遇到了一种奇怪的情况 即我们在 Java 中使用的加密方法会向 openssl 生成不同的输出 尽管它们在配置上看起来相同 使用相同的键和 IV 文本 敏捷的棕色狐狸跳过了懒狗 加密为 Base64 字符串 openssl A8cMRI
  • 比较两个文本文件的最快方法是什么,不将移动的行视为不同

    我有两个文件非常大 每个文件有 50000 行 我需要比较这两个文件并识别更改 然而 问题是如果一条线出现在不同的位置 它不应该显示为不同的 例如 考虑这个文件A txt xxxxx yyyyy zzzzz 文件B txt zzzzz xx
  • JAVA - Xuggler - 组合 MP3 音频文件和 MP4 电影时播放视频

    使用 JAVA 和 Xuggler 以下代码组合 MP3 音频文件和 MP4 电影文件并输出组合的 mp4 文件 我希望在合并音频和视频文件时应自动播放输出视频文件 String inputVideoFilePath in mp4 Stri
  • java中如何连接字符串

    这是我的字符串连接代码 StringSecret java public class StringSecret public static void main String args String s new String abc s co
  • 按第一列排序二维数组,然后按第二列排序

    int arrs 1 100 11 22 1 11 2 12 Arrays sort arrs a b gt a 0 b 0 上面的数组已排序为 1 100 1 11 2 12 11 22 我希望它们按以下方式排序a 0 b 0 首先 如果
  • 如何模拟从抽象类继承的受保护子类方法?

    如何使用 Mockito 或 PowerMock 模拟由子类实现但从抽象超类继承的受保护方法 换句话说 我想在模拟 doSomethingElse 的同时测试 doSomething 方法 抽象超类 public abstract clas
  • 画透明圆,外面填充

    我有一个地图视图 我想在其上画一个圆圈以聚焦于给定区域 但我希望圆圈倒转 也就是说 圆的内部不是被填充 而是透明的 其他所有部分都被填充 请参阅这张图片了解我的意思 http i imgur com zxIMZ png 上半部分显示了我可以
  • 普罗米修斯指标 - 未找到

    我有 Spring Boot 应用程序 并且正在使用 vertx 我想监控服务和 jvm 为此我选择了 Prometheus 这是我的监控配置类 Configuration public class MonitoringConfig Bea
  • 如何在selenium服务器上提供自定义功能?

    我知道可以通过某种方法获得一些硒功能 其中之一如下 driver getCapabilities getBrowserName 它返回浏览器名称的值 但如果它指的是一个可用的方法 如果我没有误解的话 这似乎与自定义功能有关 就像我的意思是
  • Cucumber Java 与 Spring Boot 集成 - Spring @Autowired 抛出 NullPointer 异常

    我正在为 Spring boot 应用程序编写 cucumber java 单元测试来测试每个功能 当我与 Spring Boot 集成时 Autowired 类抛出 NullPointer 异常 Spring Boot应用程序类 Spri
  • 替换后增量

    我自己已经有一个问题了 但我想扩展它后增量示例 https stackoverflow com questions 51308967 post increment with example char a D int b 5 System o
  • spring中如何使用jackson代替JdkSerializationRedisSerializer

    我在我的一个 Java 应用程序中使用 Redis 并且正在序列化要存储在 Redis 中的对象列表 但是 我注意到使用 RedisTemplate 会使用 JdkSerializationRedisSerializer 相反 我想使用 J
  • 如何从 Maven 存储库引用本机 DLL?

    如果 JAR 附带 Maven 存储库中的本机 DLL 我需要在 pom xml 中放入什么才能将该 DLL 放入打包中 更具体地举个例子Jacob http search maven org artifactdetails 7Cnet s
  • GUI Java 程序 - 绘图程序

    我一直试图找出我的代码有什么问题 这个想法是创建一个小的 Paint 程序并具有红色 绿色 蓝色和透明按钮 我拥有我能想到的让它工作的一切 但无法弄清楚代码有什么问题 该程序打开 然后立即关闭 import java awt import
  • 如何修复:“无法解析类型 java.lang.CharSequence。它是从所需的 .class 文件间接引用的”消息? [复制]

    这个问题在这里已经有答案了 我正在尝试使用这个字符串 amountStr amountStr replace replace replace 但我收到一条错误消息 我知道我收到的错误消息是因为我刚刚发布的字符串已过时 所以我想知道该字符串的

随机推荐

  • 如何确定日期是否是周末(不使用 lubridate)

    我有一个日期对象向量 yyyy mm dd 我想确定其中是否有周末 有没有一个函数可以直接确定这一点 我可以用wday in the 润滑封装然后判断返回值是否为01 or 07 但是还有其他更直接的吗 x lt seq Sys Date
  • 未捕获的类型错误:fs.readFileSync 不是函数

    我正在尝试获取 webpack 和地图盒 GL https github com mapbox mapbox gl js blob master webpack config example js在 Meteor 系统中协同工作 我到处都查
  • Folium 地图未在 Django 网页中显示

    对于 Django 以及一般的 Web 开发 来说非常陌生 所以提前道歉 我试图在 Django 网页中显示我的 Folium 地图 但我似乎不明白为什么我最终会得到一个空白屏幕 我在 SO 中查找了其他帖子 但他们都要求要么专门弹出窗口
  • 如何从 git 历史记录中删除除最后 n 次提交之外的所有提交以节省空间

    我使用 git 来备份和恢复系统上可能发生更改的文件夹 并且随着无用的历史记录的积累 它们可能会变得非常大 我只需要最后 4 次左右的提交 如何压缩或删除除最后 n 次提交之外的整个历史记录 免责声明 不幸的是 您的第一句话可能玷污了这个问
  • 无法从“sudo bundle install”恢复

    错误地我跑了sudo bundle install在我的项目上 现在当我自己运行它时bundle install我收到权限被拒绝的错误 如下 我尝试了这里的说明https github com bundler bundler blob ma
  • Selenium 和 Python3 ChromeDriver 引发消息:无法连接到服务 chromedriver

    请问在这种情况下如何让硒发挥作用 我已经多次看到这个问题 但答案很少或没有 我希望今天运气站在我这边 让我首先详细介绍我的环境 我在跑步macOS 塞拉利昂 我在用virtualenv virtualenvwrapper with pyth
  • 多彩多姿的编辑文本提示

    有没有办法在 android support design widget TextInputLayout 包装时为 edittext 的提示设置多种颜色 而不影响浮动 edittexts 的行为 喜欢 标题 标题和 带有不同颜色的提示 尝试
  • 无法创建类型“Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter,Common.Logging.Log4Net”

    我在解决方案中有包含其他类库的 WCF 项目 我使用 nuget 包管理器为需要日志记录的项目添加了 Common Logging 我收到此错误 无法创建类型 Common Logging Log4Net Log4NetLoggerFact
  • CakePHP:用 save() 进行加/减?

    我试图通过 Cake 的 save 函数简单地执行以下操作 UPDATE user SET value value 1 不过 好像只能设定 它不会理解我传递给它来增加或减少的任何内容 并且互联网上似乎没有人遇到这个问题 P 即使在浏览某人在
  • 将 props 传递给 React-Redux 容器组件

    我有一个在 React Native Navigator 组件中创建的 React Redux 容器组件 我希望能够将导航器作为道具传递给该容器组件 以便在其演示组件内按下按钮后 它可以将对象推送到导航器堆栈上 我想做到这一点 而不需要手动
  • 将 LINQPad 连接到远程 SQL Server

    免责声明 我知道这个问题是非常基本的 但我无法在谷歌或这里找到答案 并且无法通过猜测的配置自己完成 我想开始使用 LINQPad 并且我在同一域的不同计算机上安装了 SQL Server 2005 但我无法从 LINQPad 连接到该服务器
  • SQLAlchemy会话和连接关系

    是否使用相同的 SQLAlchemy 执行查询session对象使用相同的底层连接 如果没有 有没有办法保证这一点 一些背景 我需要使用 MySQL 的命名锁功能 即GET LOCK and RELEASE LOCK 功能 就MySQL服务
  • 从 VSS 获取给定日期的所有文件?

    有没有办法让 Visual source safe 获取项目给定日期的所有文件 我们不使用标签 所以我无法回滚到特定标签 并且希望我可以以某种方式调用某个日期范围来获取特定日期存在的文件 不可能的 据我所知你必须使用get http msd
  • 使用cv2.imread:“ returned NULL without set an error”,好像无法打开图片或获取数据

    这是我的代码中出现问题的部分 它应该计算图片中绿色像素的数量 img Image open path tif BLACK MIN np array 0 20 20 np uint8 BLACK MAX np array 120 255 25
  • 如何记录 PostgreSQL 查询?

    如何启用 PostgreSQL 8 3 执行的所有 SQL 的日志记录 已编辑 更多信息 我改变了这些行 log directory pg log log filename postgresql Y m d H M S log log st
  • Eclipse:更改ctrl+shift+/的块注释样式

    The keyboard shortcut ctrl shift produces comments in the format of comment 如何更改快捷方式 以便在星号前后添加空格 comment 非常感谢 I m afraid
  • 如何在 Node.js 中列出 cloudinary 文件夹中的所有图像/视频?

    我是新手Node js 我已经开始通过克隆来构建一个应用程序云数示例项目来自github https github com cloudinary cloudinary npm 然后我将工作目录更改为 photo album 并安装了应用程序
  • 将txt文件的内容分解为数组

    我在分解 txt 文件的内容时遇到问题 结构如下 01Name 1 02whatever contents 03whatever contents 01Name 2 02whatever contents 03whatever conten
  • 将变量从 flash 传递到 HTML/php

    我希望也许有人可以对我很难决定如何解决的问题提供一些见解 我有一个相当简单的 Flash 应用程序 用户可以在连接时快速创建一个用户名 并且该用户名是在 Flash swf 内创建的 现在 我有一个 cron 作业 每十分钟删除一次不活动的
  • 用于 bean 验证的自定义验证消息

    我正在创建一个 JSF 2 应用程序 并且尝试在 bean 中而不是 faces page 中使用表单验证 我还想使用 properties 文件来存储消息 我在看这个问题 https stackoverflow com questions