Quando utilizei o validador, percebi duas mensagens sendo exibidas:
<h:inputText id="preco" value="#{livroBean.livro.preco}" validatorMessage="Validator: Preço inválido!" converterMessage="Converter: Preço inválido!">
<f:validateDoubleRange minimum="1" maximum="1000" />
</h:inputText>
Quando o valor digitado não é válido como número (um '1234a' por exemplo), a mensagem exibida é a da propriedade converterMessage. Quando o número digitado é válido, mas não está de acordo com os limites definidos pelo validator, ai sim a mensagem utilizada é a mensagem da propriedade validatorMessage.
O comportamento correto é esse mesmo?