p:消息更改消息文本

时间:2011-03-07 09:39:02

标签: jsf primefaces

我创建了一个映射到MyBean.beansField的表单。我使用了javax.validation.NotNull anotation来确保它必须输入。到目前为止一切正常,但错误消息如下:

beansField:不能为null。

无论我到目前为止尝试了什么,我都无法删除消息前面的“beansField:”。

任何人都可以告诉我这个前缀来自哪里以及如何摆脱它?

4 个答案:

答案 0 :(得分:7)

如果您想检查用户是否输入了数据,您也可以将输入字段的required属性与requiredMessage字段结合使用,例如对于inputField:

<h:inputText value="#{myBean.beansField}" required="true" requiredMessage="Can not be null"/>

如果您想覆盖一般的邮件,您必须编辑或覆盖messages.properties文件:

  1. 将此添加到faces-config.xml 在应用程序元素中:
  2. <locale-config><default-locale>en</default-locale></locale-config>
         <message-bundle>/resources/messages</message-bundle>
    
    1. 放一个名为的文件 你的消息_en.properties 资源文件夹
    2. 以这种方式添加要覆盖的邮件:

      javax.faces.component.UIInput.REQUIRED =字段“{0}”不能为空。

答案 1 :(得分:1)

在您的类路径中添加ValidationMessages.propertiesWEB-INF/classesresources,如果使用maven结构)

添加

myapp.custommessage.notNull=your custom message

并注释

@NotNull(message="{myapp.custommessage.notNull}")

答案 2 :(得分:1)

您好,这是您重写的一长串消息

# ***** JSR 303 validation messages *****
javax.validation.constraints.NotNull.message=El campo es obligatorio
javax.validation.constraints.Size.message=El campo admite de {min} a {max} caracteres
javax.validation.constraints.Min.message=El valor debe ser mayor o igual a {value}
javax.validation.constraints.Max.message=El valor debe ser menor o igual a {value}
javax.validation.constraints.Pattern.message=Solo caracteres válidos

# ==============================================================================
# Component Errors
# ==============================================================================
javax.faces.component.UIInput.CONVERSION=Se ha producido un error de conversión.
javax.faces.component.UIInput.REQUIRED=El campo es obligatorio.
javax.faces.component.UIInput.UPDATE=Se ha producido un error al procesar la información enviada.
javax.faces.component.UISelectOne.INVALID=Error de validación: el valor no es válido
javax.faces.component.UISelectMany.INVALID=Error de validación: el valor no es válido

# ==============================================================================
# Converter Errors
# ==============================================================================
javax.faces.converter.BigDecimalConverter.DECIMAL=''{0}'' debe ser un número decimal positivo o negativo.
javax.faces.converter.BigDecimalConverter.DECIMAL_detail=''{0}'' debe ser un número decimal positivo o negativo formado por cero o más dígitos, que pueden incluir a continuación una coma decimal y una fracción.  Ejemplo: {1}
javax.faces.converter.BigIntegerConverter.BIGINTEGER=''{0}'' debe ser un número formado por uno o varios dígitos.
javax.faces.converter.BigIntegerConverter.BIGINTEGER_detail=''{0}'' debe ser un número formado por uno o varios dígitos. Ejemplo: {1}
javax.faces.converter.BooleanConverter.BOOLEAN=''{0}'' debe ser 'true' o 'false'.
javax.faces.converter.BooleanConverter.BOOLEAN_detail=''{0}'' debe ser 'true' o 'false'.  Cualquier valor diferente a ''true'', se evaluará como ''false''.
javax.faces.converter.ByteConverter.BYTE=''{0}'' debe ser un número entre -128 y 127.
javax.faces.converter.ByteConverter.BYTE_detail=''{0}'' debe ser un número entre -128 y 127.  Ejemplo: {1}
javax.faces.converter.CharacterConverter.CHARACTER=''{0}'' debe ser un carácter válido.
javax.faces.converter.CharacterConverter.CHARACTER_detail=''{0}'' debe ser un carácter ASCII válido.
javax.faces.converter.DateTimeConverter.DATE=''{0}'' no se ha podido reconocer como fecha.
javax.faces.converter.DateTimeConverter.DATE_detail=''{0}'' no se ha podido reconocer como fecha. Ejemplo: {1}
javax.faces.converter.DateTimeConverter.TIME=''{0}'' no se ha podido reconocer como hora.
javax.faces.converter.DateTimeConverter.TIME_detail=''{0}'' no se ha podido reconocer como hora. Ejemplo: {1}
javax.faces.converter.DateTimeConverter.DATETIME=''{0}'' no se ha podido reconocer como fecha y hora.
javax.faces.converter.DateTimeConverter.DATETIME_detail=''{0}'' no se ha podido reconocer como fecha y hora. Ejemplo: {1}
javax.faces.converter.DateTimeConverter.PATTERN_TYPE=Debe especificarse el atributo ''pattern'' o ''type'' para convertir el valor ''{0}''.
javax.faces.converter.DoubleConverter.DOUBLE=''{0}'' debe ser un número formado por uno o varios dígitos.
javax.faces.converter.DoubleConverter.DOUBLE_detail=''{0}'' debe ser un número entre 4.9E-324 y 1.7976931348623157E308  Ejemplo: {1}
javax.faces.converter.EnumConverter.ENUM=''{0}'' debe poder convertirse en una enumeración.
javax.faces.converter.EnumConverter.ENUM_detail=''{0}'' debe poder convertirse en una enumeración a partir de la enumeración que contiene la constante ''{1}''.
javax.faces.converter.EnumConverter.ENUM_NO_CLASS=''{0}'' debe poder convertirse en una enumeración a partir de la enumeración, pero no se ha especificado ninguna clase de enumeración.
javax.faces.converter.EnumConverter.ENUM_NO_CLASS_detail=''{0}'' debe poder convertirse en una enumeración a partir de la enumeración, pero no se ha especificado ninguna clase de enumeración.
javax.faces.converter.FloatConverter.FLOAT=''{0}'' debe ser un número formado por uno o varios dígitos.
javax.faces.converter.FloatConverter.FLOAT_detail=''{0}'' debe ser un número entre 1.4E-45 y 3.4028235E38  Ejemplo: {1}
javax.faces.converter.IntegerConverter.INTEGER=''{0}'' debe ser un número formado por uno o varios dígitos.
javax.faces.converter.IntegerConverter.INTEGER_detail=''{0}'' debe ser un número entre -2147483648 y 2147483647. Ejemplo: {1}
javax.faces.converter.LongConverter.LONG=''{0}'' debe ser un número formado por uno o varios dígitos.
javax.faces.converter.LongConverter.LONG_detail=''{0}'' debe ser un número entre -9223372036854775808 y 9223372036854775807. Ejemplo: {1}
javax.faces.converter.NumberConverter.CURRENCY=''{0}'' no se ha podido reconocer como un valor de divisa.
javax.faces.converter.NumberConverter.CURRENCY_detail=''{0}'' no se ha podido reconocer como un valor de divisa. Ejemplo: {1}
javax.faces.converter.NumberConverter.PERCENT=''{0}'' no se ha podido reconocer como porcentaje.
javax.faces.converter.NumberConverter.PERCENT_detail=''{0}'' no se ha podido reconocer como porcentaje. Ejemplo: {1}
javax.faces.converter.NumberConverter.NUMBER=''{0}'' no es un número.
javax.faces.converter.NumberConverter.NUMBER_detail=''{0}'' no es un número. Ejemplo: {1}
javax.faces.converter.NumberConverter.PATTERN=''{0}'' no es un modelo de número.
javax.faces.converter.NumberConverter.PATTERN_detail=''{0}'' no es un modelo de número. Ejemplo: {1}
javax.faces.converter.ShortConverter.SHORT=''{0}'' debe ser un número formado por uno o varios dígitos.
javax.faces.converter.ShortConverter.SHORT_detail=''{0}'' debe ser un número entre -32768 y 32767. Ejemplo: {1}
javax.faces.converter.STRING=No se ha podido convertir ''{0}'' en una cadena.


# ==============================================================================
# Validator Errors
# ==============================================================================
javax.faces.validator.DoubleRangeValidator.MAXIMUM=Error de validación: el valor es mayor que el máximo permitido de "{0}"
javax.faces.validator.DoubleRangeValidator.MINIMUM=Error de validación: el valor es inferior que el mínimo permitido de ''{0}''
javax.faces.validator.DoubleRangeValidator.NOT_IN_RANGE=Error de validación: el atributo especificado no está entre los valores esperados: {0} y {1}.
javax.faces.validator.DoubleRangeValidator.TYPE=Error de validación: el valor no tiene el tipo correcto
javax.faces.validator.LengthValidator.MAXIMUM=Error de validación: el largo es mayor que el máximo permitido de ''{0}''
javax.faces.validator.LengthValidator.MINIMUM=Error de validación: el largo es inferior que el mínimo permitido de ''{0}''
javax.faces.validator.LongRangeValidator.MAXIMUM=Error de validación: el valor es mayor que el máximo permitido de ''{0}''
javax.faces.validator.LongRangeValidator.MINIMUM=Error de validación: el valor es inferior que el mínimo permitido de ''{0}''
javax.faces.validator.LongRangeValidator.NOT_IN_RANGE=Error de validación: el atributo especificado no está entre los valores esperados: {0} y {1}.
javax.faces.validator.LongRangeValidator.TYPE=Error de validación: el valor no tiene el tipo correcto.
javax.faces.validator.NOT_IN_RANGE=Error de validación: el atributo especificado no está entre los valores esperados: {0} y {1}.
javax.faces.validator.RegexValidator.PATTERN_NOT_SET=Debe definirse el modelo Regex.
javax.faces.validator.RegexValidator.PATTERN_NOT_SET_detail=El modelo Regex debe estar definido como un valor no vacío.
javax.faces.validator.RegexValidator.NOT_MATCHED=El modelo Regex no coincide
javax.faces.validator.RegexValidator.NOT_MATCHED_detail=El modelo Regex ''{0}'' no coincide
javax.faces.validator.RegexValidator.MATCH_EXCEPTION=Error en expresión regular
javax.faces.validator.RegexValidator.MATCH_EXCEPTION_detail=Error en expresión regular, ''{0}''
javax.faces.validator.BeanValidator.MESSAGE={0}

答案 3 :(得分:0)

对于全局...创建属性文件(clientMessages.properties)。通常它在src / main / resources内部... 放在clientMessages.properties中,

javax.faces.component.UIInput.REQUIRED=El campo ''{0}'' es obligatorio.

放入.xhtml中:

<h:inputText value="#{myBean.beansField}" required="true" id="IdComponent"/>

或某些primeFaces组件

<p:selectOneRadio style="text-align:center" required="true" id="IdComponent"
            value="#{backingBean.value}">
                <f:selectItem itemLabel="Mensual" itemValue="MENSUAL" />
                <f:selectItem itemLabel="Única" itemValue="UNICO" />
</p:selectOneRadio>

为了国际化,如果您在faces-config.xml(放入WEB-INF中)中有一个maven项目

<locale-config><default-locale>es</default-locale></locale-config>
     <message-bundle>clientMessages</message-bundle>

不需要放置完整的路径,因为在Maven项目中,当您进行编译时,资源会显示在(WEB-INF / classes /)中,并且它是faces-config.xml文件所在的子文件夹...这样在所有Maven项目中为我工作。