我创建了一个映射到MyBean.beansField的表单。我使用了javax.validation.NotNull anotation来确保它必须输入。到目前为止一切正常,但错误消息如下:
beansField:不能为null。
无论我到目前为止尝试了什么,我都无法删除消息前面的“beansField:”。
任何人都可以告诉我这个前缀来自哪里以及如何摆脱它?
答案 0 :(得分:7)
如果您想检查用户是否输入了数据,您也可以将输入字段的required
属性与requiredMessage
字段结合使用,例如对于inputField:
<h:inputText value="#{myBean.beansField}" required="true" requiredMessage="Can not be null"/>
如果您想覆盖一般的邮件,您必须编辑或覆盖messages.properties文件:
<locale-config><default-locale>en</default-locale></locale-config> <message-bundle>/resources/messages</message-bundle>
以这种方式添加要覆盖的邮件:
javax.faces.component.UIInput.REQUIRED =字段“{0}”不能为空。
答案 1 :(得分:1)
在您的类路径中添加ValidationMessages.properties
(WEB-INF/classes
或resources
,如果使用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项目中为我工作。