Я использую JSF 1.2 и Richfaces 3.3.FINAL. У меня есть inputText
, который должен быть числом от 1 до 999999999999.
<h:inputText id="prodId" required="true" value="#{product.productId}" maxlength="12" >
<f:validator validatorId="anotherValidatorValidator" />
<f:validateLongRange minimum="1" maximum="999999999999"/>
</h:inputText>
Я хочу, чтобы в моем сообщении о проверке говорилось, что пользователь должен ввести число от 1 до 99 ... 9. Если я ввожу число -1 и отправляю форму, то это сообщение, которое мне нужно.
Если, однако, я пишу буквы в поле, произнесите 'abcd', я получу:
prodId: 'abcd' должно быть числом от -9223372036854775808 до 9223372036854775807 Пример: 98765432
Это сообщение сбивает с толку пользователей, потому что, если предложенные отрицательные числа представлены, другой валидатор validateLongRange
выдаст сообщение, запрашивающее числа между правильным диапазоном.
Второе сообщение возникает из-за того, что ConverterException
генерируется, когда строка submittes приводится к Long (что является типом свойства базового компонента), и появляется сообщение javax.faces.component.UIInput.CONVERSION_MESSAGE_ID
.
Могу ли я каким-то образом переопределить его (не для всех случаев ConverterException, а только для конкретного) или сделать так, чтобы появилось сообщение другого validateLongRange
?