Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
426 views
in Technique[技术] by (71.8m points)

validation - JSPX Trinidad messageDetailNotInRange for validateDateTimeRange not working

I am trying to override the default validateDateTimeRange message using messageDetailNotInRange as per the documentation.

Despite my code, the validator produces the default error message: "The date is outside the valid range." Can anyone see something wrong here?

<tr:inputDate required="true"
              inlineStyle="color:rgb(0,58,117); font-weight:bold;"
              value="#{processScope.benefit.serviceDate}"
              immediate="false"
              onchange="submit();"
              label="#{mb_ResourceBean.res['claim.serviceDate.label']}">

  <tr:convertDateTime pattern="yyyy/MM/dd"
                      secondaryPattern="yyyyMMdd"
                      type="date"/>

  <tr:validateDateTimeRange minimum="#{bk_ClaimBean.minDate}"
                            maximum="#{bk_ClaimBean.maxDate}"
                            messageDetailNotInRange="The value of {1} exceeds the 30 day limitation to submit claim.  The service date must be within the previous 30 days."/>

</tr:inputDate>
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Your code looks OK. You could try a different approach and add message with the key org.apache.myfaces.trinidad.validator.DateTimeRangeValidator.NOT_IN_RANGE to your project's message bundle to override Trinidad's default message.

If you are not using a message bundle in your project you can add it to your faces-config.xml:

<application>
  <locale-config>
    <default-locale>en</default-locale>
    <supported-locale>en</supported-locale>
  </locale-config>
  <message-bundle>
    messages
  </message-bundle>
</application>

And add the corresponding properties file for your message bundle to your application resources:

messages.properties

If you are using Maven, make sure you add (if it's not there already) the resource folder to the build section of your pom.xml.

<resources>
  <resource>
    <directory>src/main/resources</directory>
  </resource>
</resources>

Here's list of all possible messages you can override in your message bundle:

org.apache.myfaces.trinidad.UIXEditableValue.REQUIRED=A value is required.
org.apache.myfaces.trinidad.UIXEditableValue.REQUIRED_detail=You must enter a value.
org.apache.myfaces.trinidad.UIXSelectMany.REQUIRED=A selection is required.
org.apache.myfaces.trinidad.UIXSelectMany.REQUIRED_detail=You must make at least one selection.
org.apache.myfaces.trinidad.UIXSelectOne.REQUIRED=A selection is required.
org.apache.myfaces.trinidad.UIXSelectOne.REQUIRED_detail=You must make a selection.
org.apache.myfaces.trinidad.UIXTableSelectOne.REQUIRED=A row selection is required.
org.apache.myfaces.trinidad.UIXTableSelectOne.REQUIRED_detail=You must select a row.
org.apache.myfaces.trinidad.UIXTableSelectMany.REQUIRED=A row selection is required.
org.apache.myfaces.trinidad.UIXTableSelectMany.REQUIRED_detail=You must select one or more rows.
org.apache.myfaces.trinidad.UIXSelectMany.UNSUPPORTED_MODEL_TYPE=Unsupported model type.
org.apache.myfaces.trinidad.UIXSelectMany.UNSUPPORTED_MODEL_TYPE_detail=SelectMany does not support a model of type {0}.
org.apache.myfaces.trinidad.UIXEditableValue.CONVERSION=The value is not the in correct format.
org.apache.myfaces.trinidad.UIXEditableValue.CONVERSION_detail=Enter a value that matches this pattern: {2}
org.apache.myfaces.trinidad.UPLOAD=The file is too large.
org.apache.myfaces.trinidad.UPLOAD_detail=The file could not be uploaded because it is too large.
org.apache.myfaces.trinidad.validator.RangeValidator.MAXIMUM_HINT=Enter a number less than or equal to {0}.
org.apache.myfaces.trinidad.validator.RangeValidator.MINIMUM_HINT=Enter a number greater than or equal to {0}.
org.apache.myfaces.trinidad.validator.RangeValidator.RANGE_HINT=Enter a number between {0} and {1}.
org.apache.myfaces.trinidad.validator.LengthValidator.MAXIMUM_HINT=Enter {0} or fewer characters.
org.apache.myfaces.trinidad.validator.LengthValidator.MINIMUM_HINT=Enter {0} or more characters.
org.apache.myfaces.trinidad.validator.LengthValidator.EXACT_HINT=Enter {0} characters.
org.apache.myfaces.trinidad.validator.LengthValidator.RANGE_HINT=Enter between {0} and {1} characters.
org.apache.myfaces.trinidad.validator.DateTimeRangeValidator.MAXIMUM_HINT=Enter a date on or before {0}.
org.apache.myfaces.trinidad.validator.DateTimeRangeValidator.MINIMUM_HINT=Enter a date on or after {0}.
org.apache.myfaces.trinidad.validator.DateTimeRangeValidator.RANGE_HINT=Enter a date between {0} and {1}.
org.apache.myfaces.trinidad.validator.DateRestrictionValidator.WEEKDAY_HINT=Enter a date that falls on one of the following days: {0}
org.apache.myfaces.trinidad.validator.DateRestrictionValidator.MONTH_HINT=Enter a date from one of the following months: {0}
javax.faces.validator.LongRangeValidator.MINIMUM=The number is too low.
javax.faces.validator.LongRangeValidator.MINIMUM_detail=The number must be greater than or equal to {2}.
javax.faces.validator.LongRangeValidator.MAXIMUM=The number is too high.
javax.faces.validator.LongRangeValidator.MAXIMUM_detail=The number must be less than or equal to {2}.
javax.faces.LongRange=The number is not a whole number.
javax.faces.LongRange_detail=Enter a whole number.
org.apache.myfaces.trinidad.validator.ByteLengthValidator.MAXIMUM=The value is too long.
org.apache.myfaces.trinidad.validator.ByteLengthValidator.MAXIMUM_detail=Enter a value that is not more than {2} bytes long.
org.apache.myfaces.trinidad.validator.DateTimeRangeValidator.MAXIMUM=The date is after the valid range.
org.apache.myfaces.trinidad.validator.DateTimeRangeValidator.MAXIMUM_detail=The date must be on or before {2}.
org.apache.myfaces.trinidad.validator.DateTimeRangeValidator.MINIMUM=The date is before the valid range.
org.apache.myfaces.trinidad.validator.DateTimeRangeValidator.MINIMUM_detail=The date must be on or after {2}.
org.apache.myfaces.trinidad.validator.DateTimeRangeValidator.NOT_IN_RANGE=The date is outside the valid range.
org.apache.myfaces.trinidad.validator.DateTimeRangeValidator.NOT_IN_RANGE_detail=The date must be between {2} and {3}.
org.apache.myfaces.trinidad.validator.DateRestrictionValidator.DAY=The date is not valid.
org.apache.myfaces.trinidad.validator.DateRestrictionValidator.DAY_detail=Enter one of the valid dates.
org.apache.myfaces.trinidad.validator.DateRestrictionValidator.MONTH=Dates in this month are not valid.
org.apache.myfaces.trinidad.validator.DateRestrictionValidator.MONTH_detail=Enter a date in one of the following months: {2}
org.apache.myfaces.trinidad.validator.DateRestrictionValidator.WEEKDAY=The day of the week for this date is not valid.
org.apache.myfaces.trinidad.validator.DateRestrictionValidator.WEEKDAY_detail=Enter a date that is on one of the following days: {2}
org.apache.myfaces.trinidad.validator.DoubleRangeValidator.MAXIMUM=The number is too high.
org.apache.myfaces.trinidad.validator.DoubleRangeValidator.MAXIMUM_detail=The number must be less than or equal to {2}.
org.apache.myfaces.trinidad.validator.DoubleRangeValidator.MINIMUM=The number is too low.
org.apache.myfaces.trinidad.validator.DoubleRangeValidator.MINIMUM_detail=The number must be greater than or equal to {2}.
org.apache.myfaces.trinidad.validator.DoubleRangeValidator.NOT_IN_RANGE=The number is outside the valid range.
org.apache.myfaces.trinidad.validator.DoubleRangeValidator.NOT_IN_RANGE_detail=The number must be between {2} and {3}.
org.apache.myfaces.trinidad.validator.LengthValidator.MAXIMUM=There are too many characters.
org.apache.myfaces.trinidad.validator.LengthValidator.MAXIMUM_detail=Enter {2} or fewer characters, not more.
org.apache.myfaces.trinidad.validator.LengthValidator.MINIMUM=There are too few characters.
org.apache.myfaces.trinidad.validator.LengthValidator.MINIMUM_detail=Enter {2} or more characters, not fewer.
org.apache.myfaces.trinidad.validator.LengthValidator.NOT_IN_RANGE=The number of characters is out of range.
org.apache.myfaces.trinidad.validator.LengthValidator.NOT_IN_RANGE_detail=Enter {2} or more characters, up to a maximum of {3}.
org.apache.myfaces.trinidad.validator.LengthValidator.EXACT=The number of characters is incorrect.
org.apache.myfaces.trinidad.validator.LengthValidator.EXACT_detail=Enter exactly {2} characters.
org.apache.myfaces.trinidad.validator.LongRangeValidator.MAXIMUM=The number is too high.
org.apache.myfaces.trinidad.validator.LongRangeValidator.MAXIMUM_detail=The number must be less than or equal to {2}.
org.apache.myfaces.trinidad.validator.LongRangeValidator.MINIMUM=The number is too low.
org.apache.myfaces.trinidad.validator.LongRangeValidator.MINIMUM_detail=The number must be greater than or equal to {2}.
org.apache.myfaces.trinidad.validator.LongRangeValidator.NOT_IN_RANGE=The number is out of range.
org.apache.myfaces.trinidad.validator.LongRangeValidator.NOT_IN_RANGE_detail=The number must be between {2} and {3}.
org.apache.myfaces.trinidad.validator.RegExpValidator.NO_MATCH=The format is incorrect.
org.apache.myfaces.trinidad.validator.RegExpValidator.NO_MATCH_detail=The value must match this pattern: {2}
org.apache.myfaces.trinidad.convert.DateTimeConverter.DATE_HINT=Example: {0}
org.apache.myfaces.trinidad.convert.DateTimeConverter.TIME_HINT=Example: {0}
org.apache.myfaces.trinidad.convert.DateTimeConverter.BOTH_HINT=Example format: {0}
org.apache.myfaces.trinidad.convert.ColorConverter.FORMAT_HINT=Example format: {0}
org.apache.myfaces.trinidad.convert.NumberConverter.FORMAT_HINT=Example format: {0}
org.apache.myfaces.trinidad.convert.DateTimeConverter.CONVERT_DATE=The date is not in the correct format.
org.apache.myfaces.trinidad.convert.DateTimeConverter.CONVERT_DATE_detail=Enter a date in the same format as this example: {2}
org.apache.myfaces.trinidad.convert.DateTimeConverter.CONVERT_TIME=The time is not in the correct format.
org.apache.myfaces.trinidad.convert.DateTimeConverter.CONVERT_TIME_detail=Enter a time in the same format as this example: {2}
org.apache.myfaces.trinidad.convert.DateTimeConverter.CONVERT_BOTH=The date and time is not in the correct format.
org.apache.myfaces.trinidad.convert.DateTimeConverter.CONVERT_BOTH_detail=Enter a date and time in the same format as this example: {2}
org.apache.myfaces.trinidad.convert.DateTimeConverter.CONVERT_DATE_INVALID_DATE=The date or time entered is not valid.
org.apache.myfaces.trinidad.convert.DateTimeConverter.CONVERT_DATE_INVALID_DATE_detail=Enter a valid date or time.
org.apache.myfaces.trinidad.convert.ColorConverter.CONVERT=The color is not in the correct format.
org.apache.myfaces.trinidad.convert.ColorConverter.CONVERT_detail=Enter a color in the same format as this example: {2}.
org.apache.myfaces.trinidad.convert.ColorConverter.TRANSPARENT=Transparent
org.apache.myfaces.trinidad.convert.IntegerConverter.CONVERT=The number is not a whole number.
org.apache.myfaces.trinidad.convert.IntegerConverter.CONVERT_detail=Enter a whole number.
org.apache.myfaces.trinidad.convert.IntegerConverter.MINIMUM=The number is too low.
org.apache.myfaces.trinidad.convert.IntegerConverter.MINIMUM_detail=The number must be greater than or equal to {2}.
org.apache.myfaces.trinidad.convert.IntegerConverter.MAXIMUM=The number is too high.
org.apache.myfaces.trinidad.convert.IntegerConverter.MAXIMUM_detail=The number must be less than or equal to {2}.
org.apache.myfaces.trinidad.convert.LongConverter.CONVERT=The number is not a whole number.
org.apache.myfaces.trinidad.convert.LongConverter.CONVERT_detail=Enter a whole number.
org.apache.myfaces.trinidad.convert.LongConverter.MINIMUM=The number is too low.
org.apache.myfaces.trinidad.convert.LongConverter.MINIMUM_detail=The number must be greater than or equal to {2}.
org.apache.myfaces.trinidad.convert.LongConverter.MAXIMUM=The number is too high.
org.apache.myfaces.trinidad.convert.LongConverter.MAXIMUM_detail=The number must be less than or equal to {2}.
org.apache.myfaces.trinidad.convert.NumberConverter.CONVERT_PATTERN=The format is incorrect.
org.apache.myfaces.trinidad.convert.NumberConverter.CONVERT_PATTERN_detail=The format of the number must match this pattern: {2}
org.apache.myfaces.trinidad.convert.NumberConverter.CONVERT_NUMBER=The value is not a number.
org.apache.myfaces.trinidad.convert.NumberConverter.CONVERT_NUMBER_detail=The value must be a number.
org.apache.myfaces.trinidad.convert.NumberConverter.CONVERT_CURRENCY=The currency format is incorrect.
org.apache.myfaces.trinidad.convert.NumberConverter.CONVERT_CURRENCY_detail=Enter a currency in the same format as this example: {2}
org.apache.myfaces.trinidad.convert.NumberConverter.CONVERT_PERCENT=The percentage is not in the correct format.
org.apache.myfaces.trinidad.convert.NumberConver

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...