为字段自定义的<f:validateLength>标记添加错误消息

amo*_*fis 4 validation jsf jsf-2

我有很多关于巫婆的领域我必须验证长度.这不是<f:validateLength>标签的问题.我还可以为此验证器添加自定义消息.

问题是应该为每个字段定制消息.例如,firstname字段应该有消息"名字太短"或"名字太长",surname应该有"姓氏太短"或"姓氏太久"等.如何在JSF2.0中实现这一点?

Bal*_*usC 5

使用该label属性.

<h:inputText label="First name">
Run Code Online (Sandbox Code Playgroud)

{1}在消息模板将与此被取代.

javax.faces.validator.LengthValidator.MAXIMUM: {1} too long.     
javax.faces.validator.LengthValidator.MINIMUM: {1} too short.
Run Code Online (Sandbox Code Playgroud)

  • 如果你想要不同的消息,你必须提供自己的自定义`LengthValidator`并将必要条件传递为`<f:attribute>`.它可以通过`validate()`方法中的`UIComponent#getAttributes()`获得.您在`faces-config.xml`中定义的消息包基本名称是由`Application#getMessageBundle()`提供的,您可以通过验证器内的`ResourceBundle#getBundle()`获取消息包. .另见[本答案](http://stackoverflow.com/questions/3138271/jsf-how-can-i-get-the-msg-from-message-property-as-a-string-in-java-code/3140182#3140182). (2认同)