Olá, O título basicamente já explica meu problema. No vídeo, quando o instrutor aperta o botão "gravar" com os campos vazios, aparecem duas mensagens para ele, uma sobre o titulo, e o outra sobre o isbn. Mas para mim, só aparece a do título. Inclusive, eu debuguei o código aqui, e o método "comecaComNumeroUm" nem é chamado quando o campo isbn é vazio, só é executado quando digito algum número no campo por exemplo. Segue abaixo meu código:
meu login.xhtml
<h:body>
    <h1>Novo Livro</h1>
    <h:form>
        <h:messages id="messages" />
        <fieldset>
            <legend>Dados do Livro</legend>
            <h:panelGrid columns="2">
                <h:outputLabel value="Titulo:" for="titulo" />
                <h:inputText id="titulo" value="#{livroBean.livro.titulo}"
                    required="true" requiredMessage="O titulo é obrigatório !"
                    validatorMessage="Máximo de 40 caracteres !">
                    <f:validateLength maximum="40" />
                    <f:ajax event="blur" render="messages" />
                </h:inputText>
                <h:outputLabel value="ISBN:" for="isbn" />
                <h:inputText id="isbn" value="#{livroBean.livro.isbn}"
                    validator="#{livroBean.comecaComDigitoUm}">
                </h:inputText>
                <h:outputLabel value="Preço:" for="preco" />
                <h:inputText id="preco" value="#{livroBean.livro.preco}" />
                <h:outputLabel value="Data de Lançamento:" for="dataLancamento" />
                <h:inputText id="dataLancamento"
                    value="#{livroBean.livro.dataLancamento.time}">
                    <f:convertDateTime pattern="dd/MM/yyyy"
                        timezone="America/Sao_Paulo" />
                </h:inputText>
            </h:panelGrid>
        </fieldset>
        <fieldset>
            <legend>Dados do Autor</legend>
            <h:outputLabel value="Selecione Autores: " for="autor" />
            <h:selectOneMenu value="#{livroBean.autorId}" id="autor">
                <f:selectItems value="#{livroBean.autores}" var="autor"
                    itemLabel="#{autor.nome}" itemValue="#{autor.id}">
                </f:selectItems>
            </h:selectOneMenu>
            <h:commandButton value="Gravar Autor"
                action="#{livroBean.gravarAutor}">
                <f:ajax execute="autor" render="tabelaAutores" />
            </h:commandButton>
            <h:dataTable value="#{livroBean.autoresDoLivro}" var="autor"
                id="tabelaAutores">
                <h:column>
                    <h:outputText value="#{autor.nome}" />
                </h:column>
            </h:dataTable>
        </fieldset>
        <h:commandButton value="Gravar" action="#{livroBean.gravar}" >
        <f:ajax execute="@form" render="@form :listaDeLivros"/>
        </h:commandButton>
    </h:form>Meu método:
package br.com.caelum.livraria.bean;
import java.util.List;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.validator.ValidatorException;
import br.com.caelum.livraria.dao.DAO;
import br.com.caelum.livraria.modelo.Autor;
import br.com.caelum.livraria.modelo.Livro;
@ManagedBean
@ViewScoped
public class LivroBean {
    ...
    public void comecaComDigitoUm(FacesContext fc, UIComponent ui, Object value) throws ValidatorException {
        String valor = value.toString();
        if(!valor.startsWith("1")) {
            throw new ValidatorException(new FacesMessage("O isbn deve começar com o digito 1 !"));
        }
    }
}Alguém sabe o que está errado ? Grato