代码之家  ›  专栏  ›  技术社区  ›  Markos Fragkakis

JSF消息:取消本地化?

  •  1
  • Markos Fragkakis  · 技术社区  · 14 年前

    我有一个简单的表格 <h:message> 挨着每个 <h:inputText> 显示验证消息。

    我想要一个特定的字段是一个介于1和999999之间的数字,如果数字不在正确的范围内,这是要显示的验证消息。使用这个:

    <f:validateLongRange minimum="1" maximum="999999"/>
    

    我得到消息:

    productId: Validation Error: Specified attribute is not between
    the expected values of 1 and 999,999. 
    

    我收到了一个不带逗号分隔符的显示数字的请求,但这与我在 faces.config .

    一开始我虽然基本解决方案是创建一个custon验证器,那会检查提交的值是否是一个字符串,是否在要求的范围内,但在我看来有点过头了。

    还有别的办法吗?

    2 回复  |  直到 13 年前
        1
  •  2
  •   chkal    14 年前

    如果您使用的是JSF 1.2,那么可以在输入组件中设置另一个验证消息:

    <h:inputText value=".." validatorMessage="Please enter a valid number">
      <f:validateLongRange minimum="1" maximum="999999"/>
    </h:inputText>
    
        2
  •  1
  •   emas    14 年前

    您希望验证消息以哪种语言显示?

    最近,一个同事不得不解决(我认为)您的问题:我们是意大利人,意大利语包和意大利语语言环境加载,但所有JSF验证消息(不是自定义消息,为其正确设置和检索语言环境)都是英文的。 在研究了JSF jar文件之后,他发现从中检索验证消息的属性文件很简单。。。意大利语不提供! 他必须寻找一个已经翻译过的属性文件,并将其包含在JSF jar文件中。

    希望它也能解决你的问题。