Gostaria de verificar se, nesse caso, não seria mais interessante por keyup como evento para disparar o ajax, pois usando o keypress, a ação será disparada antes do campo receber o valor e, com isso, teremos divergências na hora da validação. Desde já, agradeço a atenção. Segue abaixo, exemplo de como ficaria o ajax.
<f:ajax event="keyup" render="messages"/>