gpt4 book ai didi

jsf - 在简单的 JSF 应用程序中显示空白字段的自定义错误消息

转载 作者:行者123 更新时间:2023-12-04 16:23:51 24 4
gpt4 key购买 nike

我正在尝试一个简单的 JSF 应用程序,其中我需要检查“名称”字段是否为空,然后显示一条错误消息。

获取字段值的代码是:

<h:outputLabel value="Name"/>
<h:inputText value="#{greeting.name}" required="true">
<f:validator validatorId="NumValidator"/>
</h:inputText>

程序的控制不进入验证器类,如果字段提交不输入任何内容,并显示默认错误信息:

j_id_jsp_869892673_1:j_id_jsp_869892673_4:验证错误:需要值。

我如何为此显示自定义消息?

最佳答案

Message.properties文件存储了默认的验证消息。该文件包含在 JSF 实现库的 JAR 中。

如果您查看此文件的内容,关于所需的验证,您将看到:

javax.faces.component.UIInput.REQUIRED={0}: Validation Error: Value is required.

要定义您自己的错误消息,请创建一个新的属性文件,添加适当的错误消息,例如:
javax.faces.component.UIInput.REQUIRED=Hey, you forgot to fill the input {0}!

(注意 {0}会被字段的ID代替)

然后,在您的 faces-config.xml , 定义一个新的 message-bundle :
<message-bundle>package.that.contains.the.properties.file</message-bundle>

例如,如果您的 my-messages.properties存储在 foo/bar 包中,您必须编写:
<application>
...
<message-bundle>foo.bar.my-messages</message-bundle>
</application>

(请注意,您不必指定 .properties 扩展名)

关于jsf - 在简单的 JSF 应用程序中显示空白字段的自定义错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2514175/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com